From fe148c268a8f360caa6f46c703ddc57f1c632d8d Mon Sep 17 00:00:00 2001
From: Robert Izzard <r.izzard@surrey.ac.uk>
Date: Sat, 7 Sep 2019 09:57:14 +0100
Subject: [PATCH] more code cleanup, especially of function macros

update mega/mebi bytes

fixed ints to Star_numbers where appropriate
---
 configure                                     |   2 +-
 src/BINT/BINT_load_grid.c                     |   4 +-
 ...OF_dynamical_transfer_from_WD_to_remnant.c |   2 +-
 ...dynamical_transfer_from_low_mass_MS_star.c |   2 +-
 src/RLOF/RLOF_init_dM_orbit.c                 |   2 +-
 src/binary_c_function_macros.h                | 423 ++++++---
 src/binary_c_macros.h                         |  20 +-
 src/binary_c_types.h                          |  23 +-
 src/binary_star_functions/circumbinary_disk.c |   2 +-
 .../determine_mass_ratios.c                   |   2 +-
 .../interpolate_R_to_RL.c                     |   2 +-
 .../limit_accretion_rates.c                   |   4 +-
 src/binary_star_functions/mix_stars_BSE.c     |   6 +-
 .../show_instant_RLOF_period_or_separation.c  |   2 +-
 src/buffering/buffered_printf.c               |   3 +-
 src/debug/stardata_diff.h                     | 855 ------------------
 src/disc/disc_bisection_rooter.c              |   2 +-
 src/disc/disc_status.c                        |   2 +-
 src/events/catch_events.c                     |   2 +-
 src/evolution/evolution_difflog.c             |   2 +-
 src/evolution/evolution_split.c               |   4 +-
 src/logging/log_barium_stars.c                |   2 +-
 src/logging/log_every_timestep.c              |   2 +-
 src/logging/log_jje.c                         |   3 +-
 src/logging/log_supernova.c                   |   2 +-
 src/logging/logging_prototypes.h              |   2 +-
 src/logging/sdb_check.c                       |   2 +-
 src/nucsyn/nucsyn_WR_table.c                  |   2 +-
 src/nucsyn/nucsyn_binary_yield.c              |   6 +-
 src/nucsyn/nucsyn_cemp_log.c                  |   4 +-
 src/nucsyn/nucsyn_function_macros.h           |  74 ++
 src/nucsyn/nucsyn_long_log.c                  |   4 +-
 src/nucsyn/nucsyn_macros.h                    |  62 +-
 src/nucsyn/nucsyn_sources.h                   |   3 +
 src/setup/set_up_variables.c                  |   2 +-
 src/setup/setup_prototypes.h                  |   2 +-
 src/setup/stardata_status.c                   |   2 +-
 src/setup/version.c                           |   2 +-
 src/supernovae/set_kick_velocity.c            |   3 +-
 src/timestep/timestep.h                       |   1 -
 src/timestep/timestep_fixed_trigger.c         |   2 +-
 src/timestep/timestep_function_macros.h       |  20 +
 src/timestep/timestep_macros.h                |   1 +
 src/zfuncs/menvf.c                            |   6 +-
 src/zfuncs/next_evolving_star.c               |   5 +-
 src/zfuncs/next_nuclear_burning_star.c        |   5 +-
 src/zfuncs/renvf.c                            |   6 +-
 src/zfuncs/rhelmf.c                           |   4 +-
 src/zfuncs/system_mass.c                      |   4 +-
 src/zfuncs/zfuncs_prototypes.h                |  10 +-
 50 files changed, 486 insertions(+), 1123 deletions(-)
 delete mode 100644 src/debug/stardata_diff.h
 create mode 100644 src/nucsyn/nucsyn_function_macros.h
 create mode 100644 src/timestep/timestep_function_macros.h

diff --git a/configure b/configure
index 4717730f1..03fe0d60a 100755
--- a/configure
+++ b/configure
@@ -307,7 +307,7 @@ sub secondary_variables
 	    $coptflags=~s/-fomit-frame-pointer// if($opt=~/\-pg/);
 	    
 	    # all warnings, normal optimization, fPIC for shared library
-	    $cflags.=" -fPIC -Wall -Wstrict-prototypes -O$opt  ";
+	    $cflags.=" -fPIC -std=gnu99 -Wall -Wstrict-prototypes -O$opt  ";
 
             # activate gcc hints
             if(defined $gcc_hints && 
diff --git a/src/BINT/BINT_load_grid.c b/src/BINT/BINT_load_grid.c
index 23ed29518..c3f04fdb4 100644
--- a/src/BINT/BINT_load_grid.c
+++ b/src/BINT/BINT_load_grid.c
@@ -115,7 +115,7 @@ int BINT_load_grid(struct stardata_t * const stardata)
                                doubles[2]);
                         
                         /* strings are no longer needed: free them */
-                        int j;
+                        unsigned int j;
                         for(j=0;j<nstrings;j++)
                         {
                             Safe_free(strings[j]);
@@ -138,7 +138,7 @@ int BINT_load_grid(struct stardata_t * const stardata)
                                line[2]);
                         
                         /* data */
-                        int k;
+                        unsigned int k;
                         for(k=nparam; k<nparam+ndata; k++)
                         {
                             line[k] = doubles[k];
diff --git a/src/RLOF/RLOF_dynamical_transfer_from_WD_to_remnant.c b/src/RLOF/RLOF_dynamical_transfer_from_WD_to_remnant.c
index f4d2aac38..0f7761ed5 100644
--- a/src/RLOF/RLOF_dynamical_transfer_from_WD_to_remnant.c
+++ b/src/RLOF/RLOF_dynamical_transfer_from_WD_to_remnant.c
@@ -20,7 +20,7 @@ void RLOF_dynamical_transfer_from_WD_to_remnant(struct stardata_t * RESTRICT con
     /* Eddington limit for accretion on to the secondary in one orbit. */
     double Eddington_rate =  eddington_limit_for_accretion(stardata,
                                                            accretor->radius,
-                                                           hydrogen_mass_fraction);
+                                                           Hydrogen_mass_fraction);
     /* Dynamical timescale for the primary.*/
     double tdyn = dynamical_timescale(donor);
 
diff --git a/src/RLOF/RLOF_dynamical_transfer_from_low_mass_MS_star.c b/src/RLOF/RLOF_dynamical_transfer_from_low_mass_MS_star.c
index ca1af4c13..540171725 100644
--- a/src/RLOF/RLOF_dynamical_transfer_from_low_mass_MS_star.c
+++ b/src/RLOF/RLOF_dynamical_transfer_from_low_mass_MS_star.c
@@ -35,7 +35,7 @@ void RLOF_dynamical_transfer_from_low_mass_MS_star(struct stardata_t * const sta
      */
     double Eddington_rate =  eddington_limit_for_accretion(stardata,
                                                            accretor->radius,
-                                                           hydrogen_mass_fraction);
+                                                           Hydrogen_mass_fraction);
     /*
      * Dynamical timescale for the primary.
      */
diff --git a/src/RLOF/RLOF_init_dM_orbit.c b/src/RLOF/RLOF_init_dM_orbit.c
index ed9c46fd7..f2391a0bd 100644
--- a/src/RLOF/RLOF_init_dM_orbit.c
+++ b/src/RLOF/RLOF_init_dM_orbit.c
@@ -14,7 +14,7 @@ void RLOF_init_dM_orbit(struct stardata_t * RESTRICT const stardata,
     RLOF_orbit->dM_RLOF_lose = 0.0;
     RLOF_orbit->dM_RLOF_transfer = 0.0;
     RLOF_orbit->dM_RLOF_accrete = 0.0;
-    int k;
+    Star_number k;
     Starloop(k)
     {
         RLOF_orbit->dM_other[k] = 0.0;
diff --git a/src/binary_c_function_macros.h b/src/binary_c_function_macros.h
index dd8e83cb8..87f52245d 100644
--- a/src/binary_c_function_macros.h
+++ b/src/binary_c_function_macros.h
@@ -8,6 +8,10 @@
 
 #include "./events/events_function_macros.h"
 
+/*
+ * Logical not
+ */
+#define Not(A) ((A)==TRUE ? FALSE : TRUE)
 
 /*
  * Floating point precision : 
@@ -129,8 +133,6 @@
 
 /* Convert a C (integer) expression to Boolean type */
 #define Boolean_(EXPR) ((EXPR) ? (TRUE) : (FALSE))
-/* as Boolean_ with theopposite sense */
-#define Antiboolean_(EXPR) ((EXPR) ? (FALSE) : (TRUE))
 
 /*
  * Set, unset and append log strings
@@ -170,20 +172,16 @@
 
 
 
-/* timestep limiters : TODO move to timestep routines */
-#define Limit_timestep_old(T) (Min(stardata->model.dt,(Clamp((T),1e6*stardata->preferences->minimum_timestep,1e6*stardata->preferences->maximum_timestep))))
-
-#define Limit_timestep_Myr_old(T) (Min(stardata->model.dt,(Clamp((T),stardata->preferences->minimum_timestep,stardata->preferences->maximum_timestep))))
-
-
     
 /*
  * Stellar structure calculations
  */
 
 
-/* macro definition of the index of the other star */
-#define Other_star(K) ((K)==0 ? 1 : 0)
+/*
+ * macro definition of the index of the other star
+ */
+#define Other_star(N) ((N)==0 ? 1 : 0)
 #define Other_star_struct(S) (&stardata->star[Other_star((S)->starnum)])
 
 /*
@@ -199,47 +197,55 @@
 #define Teff_from_luminosity_and_radius(L,R) (1000.0*sqrt(sqrt((1130.0*(L)/(Pow2(R))))))
 
 
-/* T_eff - the effective temperature - A is the star number */
-//#define Teff(A) (1000.0*pow(1130.0*stardata->star[A].luminosity/(Pow2(stardata->star[(A)].radius)),0.25))
-#define Teff(A) (Teff_from_luminosity_and_radius(stardata->star[(A)].luminosity,       \
-                                  stardata->star[(A)].radius))
-
-/* same for a star struct (B) */
-#define Teff_from_star_struct(B) (Teff_from_luminosity_and_radius(((B)->luminosity),((B)->radius)))
+/* T_eff - the effective temperature of star N */
+#define Teff(N) (Teff_from_luminosity_and_radius(               \
+                     stardata->star[(N)].luminosity,            \
+                     stardata->star[(N)].radius))
 
-#define HRdiagram(A) log10(Teff(A)),(log10(stardata->star[(A)].luminosity))
+/* same for a star struct (STAR) */
+#define Teff_from_star_struct(STAR)                     \
+    (Teff_from_luminosity_and_radius(                   \
+        ((STAR)->luminosity),                           \
+        ((STAR)->radius)))
 
+#define HRdiagram(N)                            \
+    log10(Teff(N)),                             \
+        (log10(stardata->star[(N)].luminosity))
 
-#define Envelope_mass(A) (stardata->star[(A)].mass-stardata->star[(A)].core_mass)
+#define Envelope_mass(N) (stardata->star[(N)].mass-stardata->star[(N)].core_mass)
 
-#define Q(K) (Is_zero(stardata->star[Other_star(K)].mass) ? 1e50 :      \
-              stardata->star[(K)].mass/stardata->star[Other_star(K)].mass)
+#define Q(N) (Is_zero(stardata->star[Other_star(N)].mass) ? 1e50 :      \
+              stardata->star[(N)].mass/stardata->star[Other_star(N)].mass)
 
 #define Mass_squared(B) (stardata->star[(B)].mass*stardata->star[(B)].mass)
 
-#define Convective_star(A) (stardata->star[(A)].mass<MAX_CONVECTIVE_MASS && \
-                            stardata->star[(A)].mass>MIN_CONVECTIVE_MASS)
+#define Convective_star(N) (stardata->star[(N)].mass<MAX_CONVECTIVE_MASS && \
+                            stardata->star[(N)].mass>MIN_CONVECTIVE_MASS)
 
 #ifdef RLOF_RADIATION_CORRECTION
-#define Roche_radius(Q,A) ((Q)<TINY ? 1e100 : ((A)*rl((Q),stardata->preferences->RLOF_f)))
+#define Roche_radius(Q,N) ((Q)<TINY ? 1e100 : ((N)*rl((Q),stardata->preferences->RLOF_f)))
 #else
-#define Roche_radius(Q,A) ((Q)<TINY ? 1e100 : ((A)*rl(Q)))
+#define Roche_radius(Q,N) ((Q)<TINY ? 1e100 : ((N)*rl(Q)))
 #endif
-#define Roche_radius3(M1,M2,A) ((M2)<TINY ? 1e100 : Roche_radius(((M1)/(M2)),(A)))
+#define Roche_radius3(M1,M2,N) ((M2)<TINY ? 1e100 : Roche_radius(((M1)/(M2)),(N)))
 
 /* surface hydrogen */
 #ifdef NUCSYN
-#define hydrogen_mass_fraction (donor->Xenv[XH1])
+#define Hydrogen_mass_fraction (donor->Xenv[XH1])
 #else
-#define hydrogen_mass_fraction (0.760 - 3.0 * stardata->common.metallicity)
+#define Hydrogen_mass_fraction (0.760 - 3.0 * stardata->common.metallicity)
 #endif
 
 
 /*
  * Decimal spectral type converter
  */
-#define Float_spectral_type_to_integer(A) ((int)((A)+0.05))
-#define Float_spectral_type_to_subclass(A) ((int)((int)(10.0 *((A)-Float_spectral_type_to_integer(A))+0.5)))
+#define Float_spectral_type_to_integer(N)               \
+    ((int)                                              \
+     ((N)+0.05))
+#define Float_spectral_type_to_subclass(N)                              \
+    ((int)                                                              \
+     ((int)(10.0 *((N)-Float_spectral_type_to_integer(N))+0.5)))
 
 /*
  * Macros for making and copying stardata_t structs
@@ -314,11 +320,13 @@
  * Macros as above, but including the option to copy
  * the previous_stardatas stack.
  */
-#define New_deep_stardata_from(STARDATA)                                \
-    ({                                                                  \
-        struct stardata_t * s = New_clear_stardata;                     \
-        copy_stardata((STARDATA),s,COPY_STARDATA_PREVIOUS_COPY);        \
-        s;                                                              \
+#define New_deep_stardata_from(STARDATA)                \
+    ({                                                  \
+        struct stardata_t * s = New_clear_stardata;     \
+        copy_stardata((STARDATA),                       \
+                      s,                                \
+                      COPY_STARDATA_PREVIOUS_COPY);     \
+        s;                                              \
     })
 
 #define Clear_deep_stardata(STARDATA)                   \
@@ -376,49 +384,55 @@
  * SETstar sets a struct called 'star' to be star A
  * SETstars does the same, and calls the other star 'companion'
  */
-#define Starloop(A) for((A)=0;(A)<NUMBER_OF_STARS;(A)++)
+#define Starloop(N) for((N)=0;(N)<NUMBER_OF_STARS;(N)++)
 
-#define Evolving_STARLOOP(A)                            \
-    (A)=-1;                                             \
+#define Evolving_STARLOOP(N)                            \
+    (N)=-1;                                             \
     while(                                              \
-        ( (A) = next_evolving_star( (A),stardata) )!=-1 \
+        ( (N) = next_evolving_star( (N),stardata) )!=-1 \
         )
 
-#define Nuclear_burning_STARLOOP(A)                             \
-    (A)=-1;                                                     \
+#define Nuclear_burning_STARLOOP(N)                             \
+    (N)=-1;                                                     \
     while(                                                      \
-        ( (A) = next_nuclear_burning_star( (A),stardata) )!=-1  \
+        ( (N) = next_nuclear_burning_star( (N),stardata) )!=-1  \
         )
 
 
-#define SETstar(A)                                              \
-    struct star_t * const star MAYBE_UNUSED = (struct star_t * const) &(stardata->star[(A)]);
-#define SETstarp(A)                                                     \
-    struct star_t * const star MAYBE_UNUSED = (struct star_t * const)&((*stardata)->star[(A)]);
-#define SETstars(A)                                                     \
-    struct star_t * const star MAYBE_UNUSED = (struct star_t * const)&(stardata->star[(A)]); \
-    struct star_t * const companion MAYBE_UNUSED = (struct star_t * const)&(stardata->star[Other_star(A)]);
+#define SETstar(N)                                      \
+    struct star_t * const star MAYBE_UNUSED =           \
+        (struct star_t * const) &(stardata->star[(N)]);
+
+#define SETstarp(N)                                             \
+    struct star_t * const star MAYBE_UNUSED =                   \
+        (struct star_t * const)&((*stardata)->star[(N)]);
+
+#define SETstars(N)                                                     \
+    struct star_t * const star MAYBE_UNUSED =                           \
+        (struct star_t * const)&(stardata->star[(N)]);                  \
+    struct star_t * const companion MAYBE_UNUSED =                      \
+        (struct star_t * const)&(stardata->star[Other_star(N)]);
 
-/* source loop */
-#define SOURCELOOP(A) for((A)=0;(A)<NUMBER_OF_SOURCES;(A)++)
 
 /*
  * structs and integers often used in RLOF routines
  * (with suppression of unused variable warnings)
  */ 
-#define RLOF_stars_structs                                              \
-    struct star_t * accretor MAYBE_UNUSED = &(stardata->star[naccretor]); \
-    struct star_t * donor MAYBE_UNUSED = &(stardata->star[ndonor]);
-
-#define RLOF_stars                                                      \
-    const int ndonor MAYBE_UNUSED = stardata->model.ndonor ;            \
-    const int naccretor MAYBE_UNUSED = stardata->model.naccretor;       \
+#define RLOF_stars_structs                      \
+    struct star_t * accretor MAYBE_UNUSED =     \
+        &(stardata->star[naccretor]);           \
+    struct star_t * donor MAYBE_UNUSED =        \
+        &(stardata->star[ndonor]);
+
+#define RLOF_stars                              \
+    const int ndonor MAYBE_UNUSED =             \
+        stardata->model.ndonor ;                \
+    const int naccretor MAYBE_UNUSED =          \
+        stardata->model.naccretor;              \
     RLOF_stars_structs;
 
-#define Timer_seconds(A) (((float)(A))/((1e6*(float)CPUFREQ)))
-#define Timer_microseconds(A) (((float)(A))/(((float)CPUFREQ)))
-
-#define Previous_stardata(P) struct stardata_t *(P) = stardata->previous_stardata;
+#define Timer_seconds(N) (((float)(N))/((1e6*(float)CPUFREQ)))
+#define Timer_microseconds(N) (((float)(N))/(((float)CPUFREQ)))
 
 /************************************************************/
 /* Data tables */
@@ -429,7 +443,7 @@
 /*
  * Functions to count the number of items in, and
  * define a new, data table.
- * TARGET is an (empty) pointer which is MALLOCed to the 
+ * TARGET is an (empty) pointer which is Malloced to the 
  * appropriate size.
  */ 
 #define DataTableN(T) (sizeof(T)/sizeof(double))
@@ -452,7 +466,8 @@
 
 #define NewDataTable_from_Pointer(POINTER,TARGET,NPARAM,NDATA,NLINES)   \
     {                                                                   \
-        (TARGET) = (struct data_table_t *) Malloc(sizeof(struct data_table_t)); \
+        (TARGET) = (struct data_table_t *)                              \
+            Malloc(sizeof(struct data_table_t));                        \
         (TARGET)->data = (POINTER);                                     \
         (TARGET)->nlines = (int) (NLINES);                              \
         (TARGET)->ndata = (int) (NDATA);                                \
@@ -516,7 +531,8 @@
                         __p,                                            \
                         (long int)sizeof(__newdata));                   \
         memcpy(__p,__newdata,sizeof(__newdata));                        \
-        if(DTVB)fprintf(stderr,"Allocate from pointer %d %d %d\n",NPARAM,NDATA,NLINES); \
+        if(DTVB)fprintf(stderr,"Allocate from pointer %d %d %d\n",      \
+                        NPARAM,NDATA,NLINES);                           \
         NewDataTable_from_Pointer(__p,TARGET,NPARAM,NDATA,NLINES);      \
     }
 
@@ -531,13 +547,16 @@
             {                                                           \
                 _printf("p(%d)=%g ",                                    \
                         _j,                                             \
-                        *((TABLE)->data+_i*((TABLE)->nparam+(TABLE)->ndata)+_j)); \
+                        *((TABLE)->data+_i*                             \
+                          ((TABLE)->nparam+(TABLE)->ndata)+_j));        \
             }                                                           \
-            for(_j=(TABLE)->nparam;_j<((TABLE)->nparam+(TABLE)->ndata);_j++) \
+            for(_j=(TABLE)->nparam;                                     \
+                _j<((TABLE)->nparam+(TABLE)->ndata);_j++)               \
             {                                                           \
                 _printf("d(%d)=%g ",                                    \
                         _j-(TABLE)->nparam,                             \
-                        *((TABLE)->data+_i*((TABLE)->nparam+(TABLE)->ndata)+_j)); \
+                        *((TABLE)->data+_i*                             \
+                          ((TABLE)->nparam+(TABLE)->ndata)+_j));        \
             }                                                           \
             _printf("\n");                                              \
         }                                                               \
@@ -633,19 +652,79 @@
 
 /*
  * Push Printf through the binary_c buffer.
- * Works for up to 60 arguments.
- * Does nothing (noop) if no arguments are given.
+ *
+ * Works for up to 100 arguments.
+ *
+ * Does nothing (no-op) if no arguments are given.
  */
-
-#define Get_printf_macro(_0, _1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_, _10_, _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, _21_, _22_, _23_, _24_, _25_, _26_, _27_, _28_, _29_, _30_, _31_, _32_, _33_, _34_, _35_, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, NAME,...) NAME
+#define Get_printf_macro(                                       \
+    _0_,                                                        \
+    _1_,  _2_,  _3_,  _4_,  _5_,  _6_,  _7_,  _8_, _9_, _10_,   \
+    _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, \
+    _21_, _22_, _23_, _24_, _25_, _26_, _27_, _28_, _29_, _30_, \
+    _31_, _32_, _33_, _34_, _35_, _36_, _37_, _38_, _39_, _40_, \
+    _41_, _42_, _43_, _44_, _45_, _46_, _47_, _48_, _49_, _50_, \
+    _51_, _52_, _53_, _54_, _55_, _56_, _57_, _58_, _59_, _60_, \
+    _61_, _62_, _63_, _64_, _65_, _66_, _67_, _68_, _69_, _70_, \
+    _71_, _72_, _73_, _74_, _75_, _76_, _77_, _78_, _79_, _80_, \
+    _81_, _82_, _83_, _84_, _85_, _86_, _87_, _88_, _89_, _90_, \
+    _91_, _92_, _93_, _94_, _95_, _96_, _97_, _98_, _99_, _100_, \
+    NAME,...) NAME
 
 #define Printf_no_op(...) /* no-op */
 #define Printf_n(...) buffered_printf(stardata,FALSE,__VA_ARGS__);
 #define Printf_n_deslash(...) buffered_printf(stardata,TRUE,__VA_ARGS__);
-#define Printf(...) Get_printf_macro(_0, ##__VA_ARGS__, Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,Printf_no_op)(__VA_ARGS__)
+#define Printf(...)                                             \
+    Get_printf_macro(                                           \
+    _0, ##__VA_ARGS__,                                          \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_n,Printf_n,Printf_n,Printf_n,Printf_n,               \
+    Printf_no_op)(__VA_ARGS__)
+
 /* PRINTF = Printf for backwards compatibility */
 #define PRINTF(...) Printf(__VA_ARGS__)
-#define Printf_deslash(...) Get_printf_macro(_0, ##__VA_ARGS__, Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,PRINTFN_DESLASHOOP)(__VA_ARGS__)
+#define Printf_deslash(...)                                             \
+    Get_printf_macro(                                                   \
+        _0, ##__VA_ARGS__,                                              \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash,Printf_n_deslash, \
+        PRINTFN_DESLASHOOP)(__VA_ARGS__)
 
 
 #ifdef BUFFERED_STACK
@@ -689,7 +768,10 @@
 #define Yes_or_no(X) ((X)==TRUE ? "Y" : "N")
 
 
-#define Valid_eccentricity(E) (In_range((E),0.0,1.0))
+/*
+ * Check for an eccentricity that is valid
+ */
+#define Valid_eccentricity(E) Boolean_(In_range((E),0.0,1.0))
 
 
 #ifdef USE_GSL
@@ -806,12 +888,42 @@
  * variadic lists.
  *
  * Number_of_arguments works but gives warnings on strings.
- * Instead, use Get_argument_count but this only works up to N=70
+ *
+ * Instead, use Get_argument_count but this only works up 
+ * to N=100 - this should be sufficient.
  */
-#define Number_of_arguments(...)  (sizeof((int[]){0,##__VA_ARGS__})/sizeof(int)-1)
-#define Sum_of_arguments(...)  sum(Number_of_arguments(__VA_ARGS__), ##__VA_ARGS__)
-#define Get_argument_count(...) __Internal_get_argument_count_private(0, ## __VA_ARGS__, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
-#define __Internal_get_argument_count_private(_0, _1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_, _10_, _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, _21_, _22_, _23_, _24_, _25_, _26_, _27_, _28_, _29_, _30_, _31_, _32_, _33_, _34_, _35_, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, count, ...) count
+#define Number_of_arguments(...)                        \
+    (sizeof((int[]){0,##__VA_ARGS__})/sizeof(int)-1)
+
+#define Sum_of_arguments(...) \
+    sum(Number_of_arguments(__VA_ARGS__), ##__VA_ARGS__)
+
+#define Get_argument_count(...)                                         \
+    __Internal_get_argument_count_private(                              \
+        0, ## __VA_ARGS__,                                              \
+        100, 99, 98, 97, 96, 95, 94, 93, 92, 91,                         \
+        90, 89, 88, 87, 86, 85, 84, 83, 82, 81,                         \
+        80, 79, 78, 77, 76, 75, 74, 73, 72, 71,                         \
+        70, 69, 68, 67, 66, 65, 64, 63, 62, 61,                         \
+        60, 59, 58, 57, 56, 55, 54, 53, 52, 51,                         \
+        50, 49, 48, 47, 46, 45, 44, 43, 42, 41,                         \
+        40, 39, 38, 37, 36, 35, 34, 33, 32, 31,                         \
+        30, 29, 28, 27, 26, 25, 24, 23, 22, 21,                         \
+        20, 19, 18, 17, 16, 15, 14, 13, 12, 11,                         \
+        10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
+
+#define __Internal_get_argument_count_private(                  \
+    _0_, _1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_, _10_,     \
+    _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, \
+    _21_, _22_, _23_, _24_, _25_, _26_, _27_, _28_, _29_, _30_, \
+    _31_, _32_, _33_, _34_, _35_, _36_, _37_, _38_, _39_, _40_, \
+    _41_, _42_, _43_, _44_, _45_, _46_, _47_, _48_, _49_, _50_, \
+    _51_, _52_, _53_, _54_, _55_, _56_, _57_, _58_, _59_, _60_, \
+    _61_, _62_, _63_, _64_, _65_, _66_, _67_, _68_, _69_, _70_, \
+    _71_, _72_, _73_, _74_, _75_, _76_, _77_, _78_, _79_, _80_, \
+    _81_, _82_, _83_, _84_, _85_, _86_, _87_, _88_, _89_, _90_, \
+    _91_, _92_, _93_, _94_, _95_, _96_, _97_, _98_, _99_, _100_, \
+    count, ...) count
 
 /*
  * Test macro to see if it defined, and print 
@@ -947,6 +1059,10 @@
          ? AGB_THIRD_DREDGE_UP_ALGORITHM_HURLEY : AGB_THIRD_DREDGE_UP_ALGORITHM_KARAKAS))
 #endif//NUCSYN
 
+
+/*
+ * Macros to change the state of buffering
+ */
 #define Save_buffering_state                                            \
     int __buf = stardata->preferences->internal_buffering;              \
     int __comp = stardata->preferences->internal_buffering_compression; \
@@ -961,7 +1077,8 @@
 /*
  * Map a va_arg without having to specify its TYPE twice
  */
-#define Map_varg(TYPE,NAME,ARGLIST) TYPE NAME = va_arg(ARGLIST,TYPE);
+#define Map_varg(TYPE,NAME,ARGLIST)             \
+    TYPE NAME = va_arg(ARGLIST,TYPE);
 
 /*
  * Bisector function result
@@ -1015,8 +1132,10 @@
 #define Angular_momentum_cgs_to_code(J) ((J) / ANGULAR_MOMENTUM_CGS)
 #define Angular_momentum_code_to_cgs(J) ((J) * ANGULAR_MOMENTUM_CGS)
 
-#define Angular_momentum_derivative_cgs_to_code(Jdot) (Angular_momentum_cgs_to_code(Jdot) * YEAR_LENGTH_IN_SECONDS)
-#define Angular_momentum_derivative_code_to_cgs(Jdot) (Angular_momentum_code_to_cgs(Jdot) / YEAR_LENGTH_IN_SECONDS)
+#define Angular_momentum_derivative_cgs_to_code(Jdot)                   \
+    (Angular_momentum_cgs_to_code(Jdot) * YEAR_LENGTH_IN_SECONDS)
+#define Angular_momentum_derivative_code_to_cgs(Jdot)                   \
+    (Angular_momentum_code_to_cgs(Jdot) / YEAR_LENGTH_IN_SECONDS)
 
 
 #ifdef TRIPLE
@@ -1091,7 +1210,7 @@
         (X) == QCRIT_GB_VOS2018 ? "Vos et al 2018" :                    \
         "Unknown Qcrit GB algorithm"                                    \
         )
-        
+
 
 #define Map_float_algorithm(X)                  \
     ((int)((X)-0.4))
@@ -1124,7 +1243,10 @@
 #ifdef __GNUC__
 #define Elvis(A,B) ((A) ?: (B))
 #else
-#define Elvis(A,B) ({typeof(A) * __x = (A); __x ? __x : (B);})
+#define Elvis(A,B) ({                           \
+            typeof(A) * __x = (A);              \
+            __x ? __x : (B);                    \
+        })
 #endif//__GNUC__
 
 #define Elvis3(A,B,C) (                         \
@@ -1137,17 +1259,53 @@
  * Given a number of bytes, N, return a float in bytes, Kbytes, 
  * Mbytes or Gbytes, along with a unit string, suitable for 
  * a format string like "%6.2f %s".
+ *
+ * Two versions are provided: one for decimal (power ten, kilobytes)
+ * counting and one for binary (power two) counting (e.g. kibibytes)
  */
-#define Mem_size_string(N)                                \
-    ((float)                                            \
-     ((N) < 1024 ? (N) :                                \
-      (N) < (1024*1024) ? ((N)/1024.0) :                \
-      (N) < (1024*1024*1024) ? ((N)/(1024.0*1024.0)) :  \
-      ((N) / (1024.0*1024.0*1024.0)))),                 \
-        ((N) < 1024 ? ((N) == 1 ? "Byte" : "Bytes") :   \
-         (N) < (1024*1024) ? "KBytes" :                 \
-         (N) < (1024*1024*1024) ? "MBytes" :            \
-         "GBytes")
+#define Mem_size_string_decimal(N)                              \
+    (                                                           \
+        (float)                                                 \
+        (                                                       \
+            (N) < KILOBYTE ? (N) :                              \
+            (N) < MEGABYTE ? ((float)(N)/(float)KILOBYTE) :     \
+            (N) < GIGABYTE ? ((float)(N)/(float)MEGABYTE) :     \
+            (N) < TERABYTE ? ((float)(N)/(float)GIGABYTE) :     \
+            (N) < PETABYTE ? ((float)(N)/(float)TERABYTE) :     \
+            ((float)(N) / (float)PETABYTE)                      \
+            )                                                   \
+        )                                                       \
+    ,                                                           \
+        (                                                       \
+            (N) < KILOBYTE ? ((N) == 1 ? "Byte" : "Bytes") :    \
+            (N) < MEGABYTE ? "KBytes" :                         \
+            (N) < GIGABYTE ? "MBytes" :                         \
+            (N) < TERABYTE ? "GBytes" :                         \
+            (N) < PETABYTE ? "TBytes" :                         \
+            "PBytes"                                            \
+            )
+
+#define Mem_size_string_binary(N)                               \
+    (                                                           \
+        (float)                                                 \
+        (                                                       \
+            (N) < KIBIBYTE ? (N) :                              \
+            (N) < MEBIBYTE ? ((float)(N)/(float)KIBIBYTE) :     \
+            (N) < GIBIBYTE ? ((float)(N)/(float)MEBIBYTE) :     \
+            (N) < TEBIBYTE ? ((float)(N)/(float)GIBIBYTE) :     \
+            (N) < PEBIBYTE ? ((float)(N)/(float)TEBIBYTE) :     \
+            ((float)(N) / (float)PEBIBYTE)                      \
+            )                                                   \
+        )                                                       \
+    ,                                                           \
+        (                                                       \
+            (N) < KIBIBYTE ? ((N) == 1 ? "Byte" : "Bytes") :    \
+            (N) < MEBIBYTE ? "KiBytes" :                        \
+            (N) < GIBIBYTE ? "MiBytes" :                        \
+            (N) < TEBIBYTE ? "GiBytes" :                        \
+            (N) < PEBIBYTE ? "TiBytes" :                        \
+            "PiBytes"                                           \
+            )
 
 /*
  * Macro to define whether a system is single (or not)
@@ -1173,7 +1331,8 @@
 
 /*
  * The same logic, but using A OR B = NOT (A AND B)
- * which is usually faster
+ * which is usually faster. We define the binary first, then
+ * single is just Not(single)
  */
 #define _System_is_binary(S)                                    \
     (Boolean_(                                                  \
@@ -1190,7 +1349,7 @@
          MINIMUM_ORBITAL_ANGMOM) &&                             \
         (S)->common.orbit.eccentricity < 1.0                    \
         )))
-#define _System_is_single(S) (((_System_is_binary(S))==TRUE) ? FALSE : TRUE)
+#define _System_is_single(S) (Not(_System_is_binary(S)))
 
 #define System_is_single _System_is_single(stardata)
 #define System_is_binary _System_is_binary(stardata)
@@ -1211,25 +1370,25 @@
               stardata->star[0].mass * stardata->star[1].mass /         \
               (stardata->star[0].mass + stardata->star[1].mass))
 
-#define Bisector_string(A) (                                            \
-        (abs(A)) == BISECTOR_DISC_TVISC ? "Tvisc0" :                    \
-        (abs(A)) == BISECTOR_DISC_J ? "J" :                             \
-        (abs(A)) == BISECTOR_DISC_F ? "F" :                             \
-        (abs(A)) == BISECTOR_DISC_RHALFJ ? "RhalfJ" :                   \
-        (abs(A)) == BISECTOR_DISC_PRESSURE_RADIUS ? "RfromP" :          \
-        (abs(A)) == BISECTOR_COMENV_DM ? "ComenvDM" :                   \
-        (abs(A)) == BISECTOR_DISC_OWEN_RADIUS ? "OwenRadius" :          \
-        (abs(A)) == BISECTOR_DISC_VISCOUS ? "Viscous" :                 \
-        (abs(A)) == BISECTOR_DISC_MASS_RADIUS ? "RfromM" :              \
-        (abs(A)) == BISECTOR_DISC_RIN_MIN ? "RinMin" :                  \
-        (abs(A)) == BISECTOR_DISC_BISECTION_ROOTER ? "Disc_bi_rooter" : \
+#define Bisector_string(N) (                                            \
+        (abs(N)) == BISECTOR_DISC_TVISC ? "Tvisc0" :                    \
+        (abs(N)) == BISECTOR_DISC_J ? "J" :                             \
+        (abs(N)) == BISECTOR_DISC_F ? "F" :                             \
+        (abs(N)) == BISECTOR_DISC_RHALFJ ? "RhalfJ" :                   \
+        (abs(N)) == BISECTOR_DISC_PRESSURE_RADIUS ? "RfromP" :          \
+        (abs(N)) == BISECTOR_COMENV_DM ? "ComenvDM" :                   \
+        (abs(N)) == BISECTOR_DISC_OWEN_RADIUS ? "OwenRadius" :          \
+        (abs(N)) == BISECTOR_DISC_VISCOUS ? "Viscous" :                 \
+        (abs(N)) == BISECTOR_DISC_MASS_RADIUS ? "RfromM" :              \
+        (abs(N)) == BISECTOR_DISC_RIN_MIN ? "RinMin" :                  \
+        (abs(N)) == BISECTOR_DISC_BISECTION_ROOTER ? "Disc_bi_rooter" : \
         "Unknown")
 
 
-#define Bisector_error_string(A) (                              \
-        (A) == BINARY_C_BISECT_ERROR_NONE ? "None" :                     \
-        (A) == BINARY_C_BISECT_ERROR_MAXED_OUT ? "Maxed out" :           \
-        (A) == BINARY_C_BISECT_ERROR_BRACKET_FAILED ? "Bracket failed" : \
+#define Bisector_error_string(N) (                              \
+        (N) == BINARY_C_BISECT_ERROR_NONE ? "None" :                     \
+        (N) == BINARY_C_BISECT_ERROR_MAXED_OUT ? "Maxed out" :           \
+        (N) == BINARY_C_BISECT_ERROR_BRACKET_FAILED ? "Bracket failed" : \
         "Unknown")
 
 
@@ -1281,33 +1440,33 @@
 #endif
 
 
-#define AGB_Luminosity_Algorithm_String(A) (                    \
-        (A) == AGB_LUMINOSITY_ALGORITHM_DEFAULT ? "Default" :   \
-        (A) == AGB_LUMINOSITY_ALGORITHM_HURLEY ? "Hurley" :     \
-        (A) == AGB_LUMINOSITY_ALGORITHM_KARAKAS ? "Karakas" :   \
+#define AGB_Luminosity_Algorithm_String(N) (                    \
+        (N) == AGB_LUMINOSITY_ALGORITHM_DEFAULT ? "Default" :   \
+        (N) == AGB_LUMINOSITY_ALGORITHM_HURLEY ? "Hurley" :     \
+        (N) == AGB_LUMINOSITY_ALGORITHM_KARAKAS ? "Karakas" :   \
         "Unknown" )
 
-#define AGB_Third_Dredge_Up_Algorithm_String(A) (                       \
-        (A) == AGB_THIRD_DREDGE_UP_ALGORITHM_DEFAULT ? "Default" :      \
-        (A) == AGB_THIRD_DREDGE_UP_ALGORITHM_HURLEY ? "Hurley" :        \
-        (A) == AGB_THIRD_DREDGE_UP_ALGORITHM_KARAKAS ? "Karakas" :      \
-        (A) == AGB_THIRD_DREDGE_UP_ALGORITHM_STANCLIFFE ? "Stancliffe" : \
+#define AGB_Third_Dredge_Up_Algorithm_String(N) (                       \
+        (N) == AGB_THIRD_DREDGE_UP_ALGORITHM_DEFAULT ? "Default" :      \
+        (N) == AGB_THIRD_DREDGE_UP_ALGORITHM_HURLEY ? "Hurley" :        \
+        (N) == AGB_THIRD_DREDGE_UP_ALGORITHM_KARAKAS ? "Karakas" :      \
+        (N) == AGB_THIRD_DREDGE_UP_ALGORITHM_STANCLIFFE ? "Stancliffe" : \
         "Unknown" )
 
-#define AGB_Core_Algorithm_String(A) (                  \
-        (A) == AGB_CORE_ALGORITHM_DEFAULT ? "Default" : \
-        (A) == AGB_CORE_ALGORITHM_HURLEY ? "Hurley" :   \
-        (A) == AGB_CORE_ALGORITHM_KARAKAS ? "Karakas" : \
+#define AGB_Core_Algorithm_String(N) (                  \
+        (N) == AGB_CORE_ALGORITHM_DEFAULT ? "Default" : \
+        (N) == AGB_CORE_ALGORITHM_HURLEY ? "Hurley" :   \
+        (N) == AGB_CORE_ALGORITHM_KARAKAS ? "Karakas" : \
         "Unknown" )
 
-#define AGB_Radius_Algorithm_String(A) (                        \
-        (A) == AGB_RADIUS_ALGORITHM_DEFAULT ? "Default" :       \
-        (A) == AGB_RADIUS_ALGORITHM_HURLEY ? "Hurley" :         \
-        (A) == AGB_RADIUS_ALGORITHM_KARAKAS ? "Karakas" :       \
+#define AGB_Radius_Algorithm_String(N) (                        \
+        (N) == AGB_RADIUS_ALGORITHM_DEFAULT ? "Default" :       \
+        (N) == AGB_RADIUS_ALGORITHM_HURLEY ? "Hurley" :         \
+        (N) == AGB_RADIUS_ALGORITHM_KARAKAS ? "Karakas" :       \
         "Unknown" )
 
-#define Batchmode_is_on(A) ((A)>(BATCHMODE_OFF))
-#define Batchmode_is_off(A) ((A)<=(BATCHMODE_OFF))
+#define Batchmode_is_on(N) ((N)>(BATCHMODE_OFF))
+#define Batchmode_is_off(N) ((N)<=(BATCHMODE_OFF))
 
 /*
  * Macro to prevent us using strcmp/memcmp and associatedly forgetting
diff --git a/src/binary_c_macros.h b/src/binary_c_macros.h
index 81cf887ac..8ccdfa2b0 100644
--- a/src/binary_c_macros.h
+++ b/src/binary_c_macros.h
@@ -44,9 +44,23 @@
 /* detailed_logging : probably not used much (may be removed!) */
 #define DETAILED_OUTPUT_FILENAME "/tmp/c_binary_details.dat"
 
-/* number of bytes in a MByte, GByte */
-#define MEGABYTE (1024*1024)
-#define GIGABYTE (1024*1024*1024)
+/* number of bytes in a MByte, GByte, etc. */
+#define __KILOBYTE_MULTIPLIER 1000
+#define KILOBYTE (__KILOBYTE_MULTIPLIER)
+#define MEGABYTE (KILOBYTE*__KILOBYTE_MULTIPLIER)
+#define GIGABYTE (MEGABYTE*__KILOBYTE_MULTIPLIER)
+#define TERABYTE (GIGABYTE*__KILOBYTE_MULTIPLIER)
+#define PETABYTE (TERABYTE*__KILOBYTE_MULTIPLIER)
+#define EXABYTE (PETABYTE*__KILOBYTE_MULTIPLIER)
+
+/* for pedants */
+#define __KIBIBYTE_MULTIPLIER 1024
+#define KIBIBYTE (__KIBIBYTE_MULTIPLIER)
+#define MEBIBYTE (KIBIBYTE*__KIBIBYTE_MULTIPLIER)
+#define GIBIBYTE (MEBIBYTE*__KIBIBYTE_MULTIPLIER)
+#define TEBIBYTE (GIBIBYTE*__KIBIBYTE_MULTIPLIER)
+#define PEBIBYTE (TEBIBYTE*__KIBIBYTE_MULTIPLIER)
+#define EXIBYTE (PEBIBYTE*__KIBIBYTE_MULTIPLIER)
 
 /*
  * Default log filename : can be overridden with command
diff --git a/src/binary_c_types.h b/src/binary_c_types.h
index 2b2c9e380..a85c9079b 100644
--- a/src/binary_c_types.h
+++ b/src/binary_c_types.h
@@ -6,22 +6,27 @@
  * Variable typedefs and variable types used in binary_c 
  */
 
+
 /*
- * Boolean type
+ * Define a Boolean type
+ *
+ * If we're using _C99, which is the standard in binary_c 2.1, 
+ * use the built in bool type.
+ *
+ * Note: if you are building binary_grid::C you should use the
+ *       same setup as builds binary_c. E.g. if you use an old
+ *       gcc for binary_grid::C, which has no _C99, and a new
+ *       gcc for binary_c, you'll have different sizes of stardata_t
+ *       which will cause problems. The lesson: be consistent. 
  */
 #undef FALSE
 #undef TRUE
 
-
-
-/*
- * If we're using _C99, use the built in bool type
- * (this is slightly faster and uses 25% of the memory)
- */
 #ifdef _C99
 #include <stdbool.h>
-#undef __USE_C99_BOOLEAN__
+#ifndef __USE_C99_BOOLEAN__
 #define __USE_C99_BOOLEAN__
+#endif // __USE_C99_BOOLEAN__
 #endif
 
 #ifdef __USE_C99_BOOLEAN__
@@ -33,7 +38,7 @@ typedef unsigned int Boolean;
 #define FALSE (0)
 #define TRUE (1)
 #endif //_C99
-#define NOT(A) ((A)==TRUE ? FALSE : TRUE)
+
 
 
 /* 
diff --git a/src/binary_star_functions/circumbinary_disk.c b/src/binary_star_functions/circumbinary_disk.c
index 5a65906d7..c9ab481ec 100644
--- a/src/binary_star_functions/circumbinary_disk.c
+++ b/src/binary_star_functions/circumbinary_disk.c
@@ -10,7 +10,7 @@
 
 void circumbinary_disk(struct stardata_t * RESTRICT const stardata)
 {
-    int k;
+    Star_number k;
     double Rd=215.5; // in Ro units (215.5Ro = 1AU)
     double Hd=21.5; // in Rd units
     double alphad=0.1; // disk viscosity parametre
diff --git a/src/binary_star_functions/determine_mass_ratios.c b/src/binary_star_functions/determine_mass_ratios.c
index 80a821d29..c9cc30e36 100644
--- a/src/binary_star_functions/determine_mass_ratios.c
+++ b/src/binary_star_functions/determine_mass_ratios.c
@@ -5,7 +5,7 @@ void determine_mass_ratios(struct stardata_t * RESTRICT const stardata)
     /* Set the mass ratio for each star =
      * star->mass / other_star->mass 
      */
-    unsigned int k;
+    Star_number k;
     Starloop(k)
     {
         stardata->star[k].q = Q(k);
diff --git a/src/binary_star_functions/interpolate_R_to_RL.c b/src/binary_star_functions/interpolate_R_to_RL.c
index 4e8124819..1f27d48ac 100644
--- a/src/binary_star_functions/interpolate_R_to_RL.c
+++ b/src/binary_star_functions/interpolate_R_to_RL.c
@@ -211,7 +211,7 @@ int interpolate_R_to_RL(struct stardata_t * RESTRICT const stardata)
             if(model->dtm > 0.0)
 #endif
             {
-                int k;
+                Star_number k;
                 Starloop(k)
                 {
                     if(stardata->star[k].stellar_type !=
diff --git a/src/binary_star_functions/limit_accretion_rates.c b/src/binary_star_functions/limit_accretion_rates.c
index 931254dd9..ee6b3fa39 100644
--- a/src/binary_star_functions/limit_accretion_rates.c
+++ b/src/binary_star_functions/limit_accretion_rates.c
@@ -89,7 +89,7 @@ void limit_accretion_rates(struct stardata_t * RESTRICT const stardata)
             accretion_limit[ACCRETION_LIMIT_EDDINGTON] =
                 eddington_limit_for_accretion(stardata,
                                               accretor->radius,
-                                              hydrogen_mass_fraction);
+                                              Hydrogen_mass_fraction);
             apply_accretion_limit[ACCRETION_LIMIT_EDDINGTON] = TRUE;
             
             /* Accretor thermal limit */
@@ -113,7 +113,7 @@ void limit_accretion_rates(struct stardata_t * RESTRICT const stardata)
             int i;
             for(i=0;i<NUMBER_OF_ACCRETION_LIMITS;i++)
             {
-                hit_accretion_limit[i] = Mdot_net(accretor) > accretion_limit[i] ? TRUE : FALSE;
+                hit_accretion_limit[i] = Boolean_(Mdot_net(accretor) > accretion_limit[i]);
             }
         
             /* impose accretion limit */
diff --git a/src/binary_star_functions/mix_stars_BSE.c b/src/binary_star_functions/mix_stars_BSE.c
index ed39efac4..4940d0bf3 100644
--- a/src/binary_star_functions/mix_stars_BSE.c
+++ b/src/binary_star_functions/mix_stars_BSE.c
@@ -618,9 +618,9 @@ void mix_stars_BSE(struct star_t * const stars,
                  * Assume that the accreting COWD ignites carbon
                  * and is blown off in the 'explosion'
                  */
-                int kmax = m1>m2 ? 0 : 1;
-                m3 = kmax==0 ? m1 : m2;
-                m03 = kmax==0 ? m01 : m02;
+                Boolean kmax = m1>m2 ? FALSE : TRUE;
+                m3 = kmax==FALSE ? m1 : m2;
+                m03 = kmax==FALSE ? m01 : m02;
             }
 #endif
             if(merged_stellar_type<ONeWD &&
diff --git a/src/binary_star_functions/show_instant_RLOF_period_or_separation.c b/src/binary_star_functions/show_instant_RLOF_period_or_separation.c
index 896c0b346..8682cb012 100644
--- a/src/binary_star_functions/show_instant_RLOF_period_or_separation.c
+++ b/src/binary_star_functions/show_instant_RLOF_period_or_separation.c
@@ -15,7 +15,7 @@ void show_instant_RLOF_period_or_separation(struct stardata_t * RESTRICT const s
        stardata->preferences->show_minimum_orbital_period_for_instant_RLOF==TRUE)
     {
 	/* check if we want separation or period */
-        int k;
+        Star_number k;
 	
 	/*
 	 * Choose the separation such that R1>ROL1 and R2>ROL2.
diff --git a/src/buffering/buffered_printf.c b/src/buffering/buffered_printf.c
index 9b9a3ef08..87af000ea 100644
--- a/src/buffering/buffered_printf.c
+++ b/src/buffering/buffered_printf.c
@@ -141,7 +141,8 @@ int Gnu_format_args(3,4) buffered_printf(struct stardata_t * RESTRICT const star
                             Malloc(dn+1) : Realloc(t->raw_buffer,new_alloc_size);
 #ifdef BUFFER_MEMORY_DEBUGGING
                         fprintf(stderr,//BUFFER_MEMORY_DEBUGGING_STREAM,
-                                "Realloc %6.2f %s\n",Mem_size_string(new_alloc_size));
+                                "Realloc %6.2f %s\n",                   \
+                                Mem_size_string_deciam(new_alloc_size));
                 
 #endif
                     }
diff --git a/src/debug/stardata_diff.h b/src/debug/stardata_diff.h
deleted file mode 100644
index 23d3a5f85..000000000
--- a/src/debug/stardata_diff.h
+++ /dev/null
@@ -1,855 +0,0 @@
-
-/*
- * Output from make_showstruct.pl src/binary_c_structures.h libbinary_c_stardata_t stardata* expand_pointer_list=common,star,model,preferences,store,discs,thermal_zones outfile=src/debug/stardata_diff.h diff=1
- */
-
-
-{
-    int i0;
-    for(i0 = 0; i0 < 49; i0 ++)
-    {
-if(((stardata->previous_stardata->common.prevflags[i0])!=(stardata->common.prevflags[i0])))        Printf ( "STARDATA Boolean                         : stardata->common.prevflags[% 3d]                              = [prev %d, now %d, diff %d]\n", i0, stardata->previous_stardata->common.prevflags[i0], stardata->common.prevflags[i0], (stardata->common.prevflags[i0] - stardata->previous_stardata->common.prevflags[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 2; i0 ++)
-    {
-{
-    int i1;
-    for(i1 = 0; i1 < (20 +1); i1 ++)
-    {
-        Printf ( "STARDATA Boolean                         : stardata->common.lockflags[% 3d,% 3d]                          = %d\n", i0, i1,  stardata->common.lockflags[i0][i1] ) ;
-    }
-}
-    }
-}
-if(((stardata->previous_stardata->common.interpolate_debug)!=(stardata->common.interpolate_debug)))        Printf ( "STARDATA Boolean                         : stardata->common.interpolate_debug = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.interpolate_debug, stardata->common.interpolate_debug, (stardata->common.interpolate_debug - stardata->previous_stardata->common.interpolate_debug) ) ;
-if(((stardata->previous_stardata->common.diffstats_set)!=(stardata->common.diffstats_set)))        Printf ( "STARDATA Boolean                         : stardata->common.diffstats_set = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.diffstats_set, stardata->common.diffstats_set, (stardata->common.diffstats_set - stardata->previous_stardata->common.diffstats_set) ) ;
-if(((stardata->previous_stardata->common.logflag)!=(stardata->common.logflag)))        Printf ( "STARDATA Boolean                         : stardata->common.logflag = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.logflag, stardata->common.logflag, (stardata->common.logflag - stardata->previous_stardata->common.logflag) ) ;
-if(((stardata->previous_stardata->common.had_event)!=(stardata->common.had_event)))        Printf ( "STARDATA Boolean                         : stardata->common.had_event = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.had_event, stardata->common.had_event, (stardata->common.had_event - stardata->previous_stardata->common.had_event) ) ;
-if(((stardata->previous_stardata->common.done_single_star_lifetime)!=(stardata->common.done_single_star_lifetime)))        Printf ( "STARDATA Boolean                         : stardata->common.done_single_star_lifetime = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.done_single_star_lifetime, stardata->common.done_single_star_lifetime, (stardata->common.done_single_star_lifetime - stardata->previous_stardata->common.done_single_star_lifetime) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 2; i0 ++)
-    {
-if(((stardata->previous_stardata->common.pms[i0])!=(stardata->common.pms[i0])))        Printf ( "STARDATA Boolean                         : stardata->common.pms[% 3d]                                    = [prev %d, now %d, diff %d]\n", i0, stardata->previous_stardata->common.pms[i0], stardata->common.pms[i0], (stardata->common.pms[i0] - stardata->previous_stardata->common.pms[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->common.sn_sc_header)!=(stardata->common.sn_sc_header)))        Printf ( "STARDATA Boolean                         : stardata->common.sn_sc_header = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.sn_sc_header, stardata->common.sn_sc_header, (stardata->common.sn_sc_header - stardata->previous_stardata->common.sn_sc_header) ) ;
-if(((stardata->previous_stardata->common.file_log_cached)!=(stardata->common.file_log_cached)))        Printf ( "STARDATA Boolean                         : stardata->common.file_log_cached = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.file_log_cached, stardata->common.file_log_cached, (stardata->common.file_log_cached - stardata->previous_stardata->common.file_log_cached) ) ;
-
-
-
-
-
-{
-    int i0;
-    for(i0 = 0; i0 < 144; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->common.main_sequence_parameters[i0]),(stardata->common.main_sequence_parameters[i0])))         Printf ( "STARDATA double                        : stardata->common.main_sequence_parameters[% 3d]               = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->common.main_sequence_parameters[i0], stardata->common.main_sequence_parameters[i0], (stardata->common.main_sequence_parameters[i0] - stardata->previous_stardata->common.main_sequence_parameters[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 116; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->common.giant_branch_parameters[i0]),(stardata->common.giant_branch_parameters[i0])))         Printf ( "STARDATA double                        : stardata->common.giant_branch_parameters[% 3d]                = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->common.giant_branch_parameters[i0], stardata->common.giant_branch_parameters[i0], (stardata->common.giant_branch_parameters[i0] - stardata->previous_stardata->common.giant_branch_parameters[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 15; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->common.metallicity_parameters[i0]),(stardata->common.metallicity_parameters[i0])))         Printf ( "STARDATA double                        : stardata->common.metallicity_parameters[% 3d]                 = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->common.metallicity_parameters[i0], stardata->common.metallicity_parameters[i0], (stardata->common.metallicity_parameters[i0] - stardata->previous_stardata->common.metallicity_parameters[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->common.XZAMS[i0]),(stardata->common.XZAMS[i0])))         Printf ( "STARDATA double                        : stardata->common.XZAMS[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->common.XZAMS[i0], stardata->common.XZAMS[i0], (stardata->common.XZAMS[i0] - stardata->previous_stardata->common.XZAMS[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->common.Xsolar[i0]),(stardata->common.Xsolar[i0])))         Printf ( "STARDATA double                        : stardata->common.Xsolar[% 3d]                                 = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->common.Xsolar[i0], stardata->common.Xsolar[i0], (stardata->common.Xsolar[i0] - stardata->previous_stardata->common.Xsolar[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 5; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->common.dtguess[i0]),(stardata->common.dtguess[i0])))         Printf ( "STARDATA double                        : stardata->common.dtguess[% 3d]                                = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->common.dtguess[i0], stardata->common.dtguess[i0], (stardata->common.dtguess[i0] - stardata->previous_stardata->common.dtguess[i0]) ) ;
-    }
-}
-if(!FEQUAL((stardata->previous_stardata->common.parameters_metallicity),(stardata->common.parameters_metallicity)))        Printf ( "STARDATA double                        : stardata->common.parameters_metallicity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.parameters_metallicity, stardata->common.parameters_metallicity, (stardata->common.parameters_metallicity - stardata->previous_stardata->common.parameters_metallicity) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.test),(stardata->common.test)))        Printf ( "STARDATA double                        : stardata->common.test = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.test, stardata->common.test, (stardata->common.test - stardata->previous_stardata->common.test) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.file_log_prev_rlof_exit),(stardata->common.file_log_prev_rlof_exit)))        Printf ( "STARDATA double                        : stardata->common.file_log_prev_rlof_exit = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.file_log_prev_rlof_exit, stardata->common.file_log_prev_rlof_exit, (stardata->common.file_log_prev_rlof_exit - stardata->previous_stardata->common.file_log_prev_rlof_exit) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.metallicity),(stardata->common.metallicity)))        Printf ( "STARDATA double                        : stardata->common.metallicity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.metallicity, stardata->common.metallicity, (stardata->common.metallicity - stardata->previous_stardata->common.metallicity) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.effective_metallicity),(stardata->common.effective_metallicity)))        Printf ( "STARDATA double                        : stardata->common.effective_metallicity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.effective_metallicity, stardata->common.effective_metallicity, (stardata->common.effective_metallicity - stardata->previous_stardata->common.effective_metallicity) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.RLOF_speed_up_factor),(stardata->common.RLOF_speed_up_factor)))        Printf ( "STARDATA double                        : stardata->common.RLOF_speed_up_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.RLOF_speed_up_factor, stardata->common.RLOF_speed_up_factor, (stardata->common.RLOF_speed_up_factor - stardata->previous_stardata->common.RLOF_speed_up_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.max_mass_for_second_dredgeup),(stardata->common.max_mass_for_second_dredgeup)))        Printf ( "STARDATA double                        : stardata->common.max_mass_for_second_dredgeup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.max_mass_for_second_dredgeup, stardata->common.max_mass_for_second_dredgeup, (stardata->common.max_mass_for_second_dredgeup - stardata->previous_stardata->common.max_mass_for_second_dredgeup) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.zams_period),(stardata->common.zams_period)))        Printf ( "STARDATA double                        : stardata->common.zams_period = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.zams_period, stardata->common.zams_period, (stardata->common.zams_period - stardata->previous_stardata->common.zams_period) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.zams_separation),(stardata->common.zams_separation)))        Printf ( "STARDATA double                        : stardata->common.zams_separation = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.zams_separation, stardata->common.zams_separation, (stardata->common.zams_separation - stardata->previous_stardata->common.zams_separation) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.zams_eccentricity),(stardata->common.zams_eccentricity)))        Printf ( "STARDATA double                        : stardata->common.zams_eccentricity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.zams_eccentricity, stardata->common.zams_eccentricity, (stardata->common.zams_eccentricity - stardata->previous_stardata->common.zams_eccentricity) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.mdot_RLOF),(stardata->common.mdot_RLOF)))        Printf ( "STARDATA double                        : stardata->common.mdot_RLOF = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.mdot_RLOF, stardata->common.mdot_RLOF, (stardata->common.mdot_RLOF - stardata->previous_stardata->common.mdot_RLOF) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.prevt_mdot_RLOF),(stardata->common.prevt_mdot_RLOF)))        Printf ( "STARDATA double                        : stardata->common.prevt_mdot_RLOF = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.prevt_mdot_RLOF, stardata->common.prevt_mdot_RLOF, (stardata->common.prevt_mdot_RLOF - stardata->previous_stardata->common.prevt_mdot_RLOF) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.mdot_RLOF_adaptive),(stardata->common.mdot_RLOF_adaptive)))        Printf ( "STARDATA double                        : stardata->common.mdot_RLOF_adaptive = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.mdot_RLOF_adaptive, stardata->common.mdot_RLOF_adaptive, (stardata->common.mdot_RLOF_adaptive - stardata->previous_stardata->common.mdot_RLOF_adaptive) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.mdot_RLOF_BSE),(stardata->common.mdot_RLOF_BSE)))        Printf ( "STARDATA double                        : stardata->common.mdot_RLOF_BSE = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.mdot_RLOF_BSE, stardata->common.mdot_RLOF_BSE, (stardata->common.mdot_RLOF_BSE - stardata->previous_stardata->common.mdot_RLOF_BSE) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.suggested_timestep),(stardata->common.suggested_timestep)))        Printf ( "STARDATA double                        : stardata->common.suggested_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.suggested_timestep, stardata->common.suggested_timestep, (stardata->common.suggested_timestep - stardata->previous_stardata->common.suggested_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.RLOF_rwas),(stardata->common.RLOF_rwas)))        Printf ( "STARDATA double                        : stardata->common.RLOF_rwas = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.RLOF_rwas, stardata->common.RLOF_rwas, (stardata->common.RLOF_rwas - stardata->previous_stardata->common.RLOF_rwas) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.RLOF_rolwas),(stardata->common.RLOF_rolwas)))        Printf ( "STARDATA double                        : stardata->common.RLOF_rolwas = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.RLOF_rolwas, stardata->common.RLOF_rolwas, (stardata->common.RLOF_rolwas - stardata->previous_stardata->common.RLOF_rolwas) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.monte_carlo_kick_normfac),(stardata->common.monte_carlo_kick_normfac)))        Printf ( "STARDATA double                        : stardata->common.monte_carlo_kick_normfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.monte_carlo_kick_normfac, stardata->common.monte_carlo_kick_normfac, (stardata->common.monte_carlo_kick_normfac - stardata->previous_stardata->common.monte_carlo_kick_normfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->common.nucsyn_metallicity),(stardata->common.nucsyn_metallicity)))        Printf ( "STARDATA double                        : stardata->common.nucsyn_metallicity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->common.nucsyn_metallicity, stardata->common.nucsyn_metallicity, (stardata->common.nucsyn_metallicity - stardata->previous_stardata->common.nucsyn_metallicity) ) ;
-if(((stardata->previous_stardata->common.n_events)!=(stardata->common.n_events)))        Printf ( "STARDATA int                           : stardata->common.n_events = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.n_events, stardata->common.n_events, (stardata->common.n_events - stardata->previous_stardata->common.n_events) ) ;
-if(((stardata->previous_stardata->common.file_log_n_rlof)!=(stardata->common.file_log_n_rlof)))        Printf ( "STARDATA int                           : stardata->common.file_log_n_rlof = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.file_log_n_rlof, stardata->common.file_log_n_rlof, (stardata->common.file_log_n_rlof - stardata->previous_stardata->common.file_log_n_rlof) ) ;
-if(((stardata->previous_stardata->common.nucsyn_log_count)!=(stardata->common.nucsyn_log_count)))        Printf ( "STARDATA int                           : stardata->common.nucsyn_log_count = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.nucsyn_log_count, stardata->common.nucsyn_log_count, (stardata->common.nucsyn_log_count - stardata->previous_stardata->common.nucsyn_log_count) ) ;
-if(((stardata->previous_stardata->common.nucsyn_short_log_count)!=(stardata->common.nucsyn_short_log_count)))        Printf ( "STARDATA int                           : stardata->common.nucsyn_short_log_count = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.nucsyn_short_log_count, stardata->common.nucsyn_short_log_count, (stardata->common.nucsyn_short_log_count - stardata->previous_stardata->common.nucsyn_short_log_count) ) ;
-if(((stardata->previous_stardata->common.argc)!=(stardata->common.argc)))        Printf ( "STARDATA int                           : stardata->common.argc = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->common.argc, stardata->common.argc, (stardata->common.argc - stardata->previous_stardata->common.argc) ) ;
-        Printf ( "STARDATA longint                       : stardata->common.random_seed = %l\n", stardata->common.random_seed ) ;
-        Printf ( "STARDATA longint                       : stardata->common.init_random_seed = %l\n", stardata->common.init_random_seed ) ;
-        Printf ( "STARDATA longint                       : stardata->common.random_systems_seed = %l\n", stardata->common.random_systems_seed ) ;
-if(((stardata->previous_stardata->star[0].hybrid_HeCOWD)!=(stardata->star[0].hybrid_HeCOWD)))        Printf ( "STARDATA Boolean                         : stardata->star[0].hybrid_HeCOWD = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].hybrid_HeCOWD, stardata->star[0].hybrid_HeCOWD, (stardata->star[0].hybrid_HeCOWD - stardata->previous_stardata->star[0].hybrid_HeCOWD) ) ;
-if(((stardata->previous_stardata->star[0].kick_WD)!=(stardata->star[0].kick_WD)))        Printf ( "STARDATA Boolean                         : stardata->star[0].kick_WD = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].kick_WD, stardata->star[0].kick_WD, (stardata->star[0].kick_WD - stardata->previous_stardata->star[0].kick_WD) ) ;
-if(((stardata->previous_stardata->star[0].already_kicked_WD)!=(stardata->star[0].already_kicked_WD)))        Printf ( "STARDATA Boolean                         : stardata->star[0].already_kicked_WD = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].already_kicked_WD, stardata->star[0].already_kicked_WD, (stardata->star[0].already_kicked_WD - stardata->previous_stardata->star[0].already_kicked_WD) ) ;
-if(((stardata->previous_stardata->star[0].rstar)!=(stardata->star[0].rstar)))        Printf ( "STARDATA Boolean                         : stardata->star[0].rstar = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].rstar, stardata->star[0].rstar, (stardata->star[0].rstar - stardata->previous_stardata->star[0].rstar) ) ;
-if(((stardata->previous_stardata->star[0].first_dredge_up)!=(stardata->star[0].first_dredge_up)))        Printf ( "STARDATA Boolean                         : stardata->star[0].first_dredge_up = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].first_dredge_up, stardata->star[0].first_dredge_up, (stardata->star[0].first_dredge_up - stardata->previous_stardata->star[0].first_dredge_up) ) ;
-if(((stardata->previous_stardata->star[0].second_dredge_up)!=(stardata->star[0].second_dredge_up)))        Printf ( "STARDATA Boolean                         : stardata->star[0].second_dredge_up = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].second_dredge_up, stardata->star[0].second_dredge_up, (stardata->star[0].second_dredge_up - stardata->previous_stardata->star[0].second_dredge_up) ) ;
-if(((stardata->previous_stardata->star[0].newhestar)!=(stardata->star[0].newhestar)))        Printf ( "STARDATA Boolean                         : stardata->star[0].newhestar = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].newhestar, stardata->star[0].newhestar, (stardata->star[0].newhestar - stardata->previous_stardata->star[0].newhestar) ) ;
-if(((stardata->previous_stardata->star[0].first_dup_phase_in_firsttime)!=(stardata->star[0].first_dup_phase_in_firsttime)))        Printf ( "STARDATA Boolean                         : stardata->star[0].first_dup_phase_in_firsttime = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].first_dup_phase_in_firsttime, stardata->star[0].first_dup_phase_in_firsttime, (stardata->star[0].first_dup_phase_in_firsttime - stardata->previous_stardata->star[0].first_dup_phase_in_firsttime) ) ;
-if(((stardata->previous_stardata->star[0].blue_straggler)!=(stardata->star[0].blue_straggler)))        Printf ( "STARDATA Boolean                         : stardata->star[0].blue_straggler = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].blue_straggler, stardata->star[0].blue_straggler, (stardata->star[0].blue_straggler - stardata->previous_stardata->star[0].blue_straggler) ) ;
-if(((stardata->previous_stardata->star[0].PMS)!=(stardata->star[0].PMS)))        Printf ( "STARDATA Boolean                         : stardata->star[0].PMS = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].PMS, stardata->star[0].PMS, (stardata->star[0].PMS - stardata->previous_stardata->star[0].PMS) ) ;
-if(((stardata->previous_stardata->star[0].tide_spin_lock)!=(stardata->star[0].tide_spin_lock)))        Printf ( "STARDATA Boolean                         : stardata->star[0].tide_spin_lock = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].tide_spin_lock, stardata->star[0].tide_spin_lock, (stardata->star[0].tide_spin_lock - stardata->previous_stardata->star[0].tide_spin_lock) ) ;
-
-
-
-if(!FEQUAL((stardata->previous_stardata->star[0].mass),(stardata->star[0].mass)))        Printf ( "STARDATA double                        : stardata->star[0].mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mass, stardata->star[0].mass, (stardata->star[0].mass - stardata->previous_stardata->star[0].mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].radius),(stardata->star[0].radius)))        Printf ( "STARDATA double                        : stardata->star[0].radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].radius, stardata->star[0].radius, (stardata->star[0].radius - stardata->previous_stardata->star[0].radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].effective_radius),(stardata->star[0].effective_radius)))        Printf ( "STARDATA double                        : stardata->star[0].effective_radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].effective_radius, stardata->star[0].effective_radius, (stardata->star[0].effective_radius - stardata->previous_stardata->star[0].effective_radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].roche_radius),(stardata->star[0].roche_radius)))        Printf ( "STARDATA double                        : stardata->star[0].roche_radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].roche_radius, stardata->star[0].roche_radius, (stardata->star[0].roche_radius - stardata->previous_stardata->star[0].roche_radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].roche_radius_at_periastron),(stardata->star[0].roche_radius_at_periastron)))        Printf ( "STARDATA double                        : stardata->star[0].roche_radius_at_periastron = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].roche_radius_at_periastron, stardata->star[0].roche_radius_at_periastron, (stardata->star[0].roche_radius_at_periastron - stardata->previous_stardata->star[0].roche_radius_at_periastron) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rmin),(stardata->star[0].rmin)))        Printf ( "STARDATA double                        : stardata->star[0].rmin = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rmin, stardata->star[0].rmin, (stardata->star[0].rmin - stardata->previous_stardata->star[0].rmin) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].phase_start_mass),(stardata->star[0].phase_start_mass)))        Printf ( "STARDATA double                        : stardata->star[0].phase_start_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].phase_start_mass, stardata->star[0].phase_start_mass, (stardata->star[0].phase_start_mass - stardata->previous_stardata->star[0].phase_start_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].phase_start_core_mass),(stardata->star[0].phase_start_core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].phase_start_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].phase_start_core_mass, stardata->star[0].phase_start_core_mass, (stardata->star[0].phase_start_core_mass - stardata->previous_stardata->star[0].phase_start_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].age),(stardata->star[0].age)))        Printf ( "STARDATA double                        : stardata->star[0].age = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].age, stardata->star[0].age, (stardata->star[0].age - stardata->previous_stardata->star[0].age) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].stellar_type_tstart),(stardata->star[0].stellar_type_tstart)))        Printf ( "STARDATA double                        : stardata->star[0].stellar_type_tstart = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].stellar_type_tstart, stardata->star[0].stellar_type_tstart, (stardata->star[0].stellar_type_tstart - stardata->previous_stardata->star[0].stellar_type_tstart) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].epoch),(stardata->star[0].epoch)))        Printf ( "STARDATA double                        : stardata->star[0].epoch = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].epoch, stardata->star[0].epoch, (stardata->star[0].epoch - stardata->previous_stardata->star[0].epoch) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].core_mass),(stardata->star[0].core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].core_mass, stardata->star[0].core_mass, (stardata->star[0].core_mass - stardata->previous_stardata->star[0].core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].GB_core_mass),(stardata->star[0].GB_core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].GB_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].GB_core_mass, stardata->star[0].GB_core_mass, (stardata->star[0].GB_core_mass - stardata->previous_stardata->star[0].GB_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].CO_core_mass),(stardata->star[0].CO_core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].CO_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].CO_core_mass, stardata->star[0].CO_core_mass, (stardata->star[0].CO_core_mass - stardata->previous_stardata->star[0].CO_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].max_MS_core_mass),(stardata->star[0].max_MS_core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].max_MS_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].max_MS_core_mass, stardata->star[0].max_MS_core_mass, (stardata->star[0].max_MS_core_mass - stardata->previous_stardata->star[0].max_MS_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].core_radius),(stardata->star[0].core_radius)))        Printf ( "STARDATA double                        : stardata->star[0].core_radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].core_radius, stardata->star[0].core_radius, (stardata->star[0].core_radius - stardata->previous_stardata->star[0].core_radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].luminosity),(stardata->star[0].luminosity)))        Printf ( "STARDATA double                        : stardata->star[0].luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].luminosity, stardata->star[0].luminosity, (stardata->star[0].luminosity - stardata->previous_stardata->star[0].luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].accretion_luminosity),(stardata->star[0].accretion_luminosity)))        Printf ( "STARDATA double                        : stardata->star[0].accretion_luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].accretion_luminosity, stardata->star[0].accretion_luminosity, (stardata->star[0].accretion_luminosity - stardata->previous_stardata->star[0].accretion_luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].omega),(stardata->star[0].omega)))        Printf ( "STARDATA double                        : stardata->star[0].omega = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].omega, stardata->star[0].omega, (stardata->star[0].omega - stardata->previous_stardata->star[0].omega) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].omega_crit),(stardata->star[0].omega_crit)))        Printf ( "STARDATA double                        : stardata->star[0].omega_crit = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].omega_crit, stardata->star[0].omega_crit, (stardata->star[0].omega_crit - stardata->previous_stardata->star[0].omega_crit) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].l_acc),(stardata->star[0].l_acc)))        Printf ( "STARDATA double                        : stardata->star[0].l_acc = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].l_acc, stardata->star[0].l_acc, (stardata->star[0].l_acc - stardata->previous_stardata->star[0].l_acc) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].angular_momentum),(stardata->star[0].angular_momentum)))        Printf ( "STARDATA double                        : stardata->star[0].angular_momentum = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].angular_momentum, stardata->star[0].angular_momentum, (stardata->star[0].angular_momentum - stardata->previous_stardata->star[0].angular_momentum) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].q),(stardata->star[0].q)))        Printf ( "STARDATA double                        : stardata->star[0].q = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].q, stardata->star[0].q, (stardata->star[0].q - stardata->previous_stardata->star[0].q) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].tbgb),(stardata->star[0].tbgb)))        Printf ( "STARDATA double                        : stardata->star[0].tbgb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].tbgb, stardata->star[0].tbgb, (stardata->star[0].tbgb - stardata->previous_stardata->star[0].tbgb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].tms),(stardata->star[0].tms)))        Printf ( "STARDATA double                        : stardata->star[0].tms = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].tms, stardata->star[0].tms, (stardata->star[0].tms - stardata->previous_stardata->star[0].tms) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dM_in_timestep),(stardata->star[0].dM_in_timestep)))        Printf ( "STARDATA double                        : stardata->star[0].dM_in_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dM_in_timestep, stardata->star[0].dM_in_timestep, (stardata->star[0].dM_in_timestep - stardata->previous_stardata->star[0].dM_in_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].vwind),(stardata->star[0].vwind)))        Printf ( "STARDATA double                        : stardata->star[0].vwind = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].vwind, stardata->star[0].vwind, (stardata->star[0].vwind - stardata->previous_stardata->star[0].vwind) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mdot),(stardata->star[0].mdot)))        Printf ( "STARDATA double                        : stardata->star[0].mdot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mdot, stardata->star[0].mdot, (stardata->star[0].mdot - stardata->previous_stardata->star[0].mdot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mcxx),(stardata->star[0].mcxx)))        Printf ( "STARDATA double                        : stardata->star[0].mcxx = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mcxx, stardata->star[0].mcxx, (stardata->star[0].mcxx - stardata->previous_stardata->star[0].mcxx) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rol0),(stardata->star[0].rol0)))        Printf ( "STARDATA double                        : stardata->star[0].rol0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rol0, stardata->star[0].rol0, (stardata->star[0].rol0 - stardata->previous_stardata->star[0].rol0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].aj0),(stardata->star[0].aj0)))        Printf ( "STARDATA double                        : stardata->star[0].aj0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].aj0, stardata->star[0].aj0, (stardata->star[0].aj0 - stardata->previous_stardata->star[0].aj0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mass_at_RLOF_start),(stardata->star[0].mass_at_RLOF_start)))        Printf ( "STARDATA double                        : stardata->star[0].mass_at_RLOF_start = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mass_at_RLOF_start, stardata->star[0].mass_at_RLOF_start, (stardata->star[0].mass_at_RLOF_start - stardata->previous_stardata->star[0].mass_at_RLOF_start) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rdot),(stardata->star[0].rdot)))        Printf ( "STARDATA double                        : stardata->star[0].rdot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rdot, stardata->star[0].rdot, (stardata->star[0].rdot - stardata->previous_stardata->star[0].rdot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].drdt),(stardata->star[0].drdt)))        Printf ( "STARDATA double                        : stardata->star[0].drdt = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].drdt, stardata->star[0].drdt, (stardata->star[0].drdt - stardata->previous_stardata->star[0].drdt) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].stellar_timestep),(stardata->star[0].stellar_timestep)))        Printf ( "STARDATA double                        : stardata->star[0].stellar_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].stellar_timestep, stardata->star[0].stellar_timestep, (stardata->star[0].stellar_timestep - stardata->previous_stardata->star[0].stellar_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].tm),(stardata->star[0].tm)))        Printf ( "STARDATA double                        : stardata->star[0].tm = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].tm, stardata->star[0].tm, (stardata->star[0].tm - stardata->previous_stardata->star[0].tm) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].tn),(stardata->star[0].tn)))        Printf ( "STARDATA double                        : stardata->star[0].tn = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].tn, stardata->star[0].tn, (stardata->star[0].tn - stardata->previous_stardata->star[0].tn) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].tkh),(stardata->star[0].tkh)))        Printf ( "STARDATA double                        : stardata->star[0].tkh = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].tkh, stardata->star[0].tkh, (stardata->star[0].tkh - stardata->previous_stardata->star[0].tkh) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].max_EAGB_He_core_mass),(stardata->star[0].max_EAGB_He_core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].max_EAGB_He_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].max_EAGB_He_core_mass, stardata->star[0].max_EAGB_He_core_mass, (stardata->star[0].max_EAGB_He_core_mass - stardata->previous_stardata->star[0].max_EAGB_He_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].menv),(stardata->star[0].menv)))        Printf ( "STARDATA double                        : stardata->star[0].menv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].menv, stardata->star[0].menv, (stardata->star[0].menv - stardata->previous_stardata->star[0].menv) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].renv),(stardata->star[0].renv)))        Printf ( "STARDATA double                        : stardata->star[0].renv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].renv, stardata->star[0].renv, (stardata->star[0].renv - stardata->previous_stardata->star[0].renv) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].k2),(stardata->star[0].k2)))        Printf ( "STARDATA double                        : stardata->star[0].k2 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].k2, stardata->star[0].k2, (stardata->star[0].k2 - stardata->previous_stardata->star[0].k2) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].compact_core_mass),(stardata->star[0].compact_core_mass)))        Printf ( "STARDATA double                        : stardata->star[0].compact_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].compact_core_mass, stardata->star[0].compact_core_mass, (stardata->star[0].compact_core_mass - stardata->previous_stardata->star[0].compact_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].effective_zams_mass),(stardata->star[0].effective_zams_mass)))        Printf ( "STARDATA double                        : stardata->star[0].effective_zams_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].effective_zams_mass, stardata->star[0].effective_zams_mass, (stardata->star[0].effective_zams_mass - stardata->previous_stardata->star[0].effective_zams_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].pms_mass),(stardata->star[0].pms_mass)))        Printf ( "STARDATA double                        : stardata->star[0].pms_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].pms_mass, stardata->star[0].pms_mass, (stardata->star[0].pms_mass - stardata->previous_stardata->star[0].pms_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mcx_EAGB),(stardata->star[0].mcx_EAGB)))        Printf ( "STARDATA double                        : stardata->star[0].mcx_EAGB = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mcx_EAGB, stardata->star[0].mcx_EAGB, (stardata->star[0].mcx_EAGB - stardata->previous_stardata->star[0].mcx_EAGB) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rzams),(stardata->star[0].rzams)))        Printf ( "STARDATA double                        : stardata->star[0].rzams = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rzams, stardata->star[0].rzams, (stardata->star[0].rzams - stardata->previous_stardata->star[0].rzams) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rtms),(stardata->star[0].rtms)))        Printf ( "STARDATA double                        : stardata->star[0].rtms = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rtms, stardata->star[0].rtms, (stardata->star[0].rtms - stardata->previous_stardata->star[0].rtms) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].last_mass),(stardata->star[0].last_mass)))        Printf ( "STARDATA double                        : stardata->star[0].last_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].last_mass, stardata->star[0].last_mass, (stardata->star[0].last_mass - stardata->previous_stardata->star[0].last_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].A0),(stardata->star[0].A0)))        Printf ( "STARDATA double                        : stardata->star[0].A0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].A0, stardata->star[0].A0, (stardata->star[0].A0 - stardata->previous_stardata->star[0].A0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].Xray_luminosity),(stardata->star[0].Xray_luminosity)))        Printf ( "STARDATA double                        : stardata->star[0].Xray_luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].Xray_luminosity, stardata->star[0].Xray_luminosity, (stardata->star[0].Xray_luminosity - stardata->previous_stardata->star[0].Xray_luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].vrot0),(stardata->star[0].vrot0)))        Printf ( "STARDATA double                        : stardata->star[0].vrot0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].vrot0, stardata->star[0].vrot0, (stardata->star[0].vrot0 - stardata->previous_stardata->star[0].vrot0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_sph),(stardata->star[0].v_sph)))        Printf ( "STARDATA double                        : stardata->star[0].v_sph = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_sph, stardata->star[0].v_sph, (stardata->star[0].v_sph - stardata->previous_stardata->star[0].v_sph) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_eq),(stardata->star[0].v_eq)))        Printf ( "STARDATA double                        : stardata->star[0].v_eq = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_eq, stardata->star[0].v_eq, (stardata->star[0].v_eq - stardata->previous_stardata->star[0].v_eq) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_crit_sph),(stardata->star[0].v_crit_sph)))        Printf ( "STARDATA double                        : stardata->star[0].v_crit_sph = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_crit_sph, stardata->star[0].v_crit_sph, (stardata->star[0].v_crit_sph - stardata->previous_stardata->star[0].v_crit_sph) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_crit_eq),(stardata->star[0].v_crit_eq)))        Printf ( "STARDATA double                        : stardata->star[0].v_crit_eq = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_crit_eq, stardata->star[0].v_crit_eq, (stardata->star[0].v_crit_eq - stardata->previous_stardata->star[0].v_crit_eq) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].omega_ratio),(stardata->star[0].omega_ratio)))        Printf ( "STARDATA double                        : stardata->star[0].omega_ratio = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].omega_ratio, stardata->star[0].omega_ratio, (stardata->star[0].omega_ratio - stardata->previous_stardata->star[0].omega_ratio) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_sph_ratio),(stardata->star[0].v_sph_ratio)))        Printf ( "STARDATA double                        : stardata->star[0].v_sph_ratio = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_sph_ratio, stardata->star[0].v_sph_ratio, (stardata->star[0].v_sph_ratio - stardata->previous_stardata->star[0].v_sph_ratio) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_eq_ratio),(stardata->star[0].v_eq_ratio)))        Printf ( "STARDATA double                        : stardata->star[0].v_eq_ratio = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_eq_ratio, stardata->star[0].v_eq_ratio, (stardata->star[0].v_eq_ratio - stardata->previous_stardata->star[0].v_eq_ratio) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].disc_mdot),(stardata->star[0].disc_mdot)))        Printf ( "STARDATA double                        : stardata->star[0].disc_mdot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].disc_mdot, stardata->star[0].disc_mdot, (stardata->star[0].disc_mdot - stardata->previous_stardata->star[0].disc_mdot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rotfac),(stardata->star[0].rotfac)))        Printf ( "STARDATA double                        : stardata->star[0].rotfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rotfac, stardata->star[0].rotfac, (stardata->star[0].rotfac - stardata->previous_stardata->star[0].rotfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].prev_r),(stardata->star[0].prev_r)))        Printf ( "STARDATA double                        : stardata->star[0].prev_r = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].prev_r, stardata->star[0].prev_r, (stardata->star[0].prev_r - stardata->previous_stardata->star[0].prev_r) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].prev_dm),(stardata->star[0].prev_dm)))        Printf ( "STARDATA double                        : stardata->star[0].prev_dm = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].prev_dm, stardata->star[0].prev_dm, (stardata->star[0].prev_dm - stardata->previous_stardata->star[0].prev_dm) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].roldot),(stardata->star[0].roldot)))        Printf ( "STARDATA double                        : stardata->star[0].roldot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].roldot, stardata->star[0].roldot, (stardata->star[0].roldot - stardata->previous_stardata->star[0].roldot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dmdr),(stardata->star[0].dmdr)))        Printf ( "STARDATA double                        : stardata->star[0].dmdr = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dmdr, stardata->star[0].dmdr, (stardata->star[0].dmdr - stardata->previous_stardata->star[0].dmdr) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].nth),(stardata->star[0].nth)))        Printf ( "STARDATA double                        : stardata->star[0].nth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].nth, stardata->star[0].nth, (stardata->star[0].nth - stardata->previous_stardata->star[0].nth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].RLOF_tkh),(stardata->star[0].RLOF_tkh)))        Printf ( "STARDATA double                        : stardata->star[0].RLOF_tkh = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].RLOF_tkh, stardata->star[0].RLOF_tkh, (stardata->star[0].RLOF_tkh - stardata->previous_stardata->star[0].RLOF_tkh) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].RLOF_starttime),(stardata->star[0].RLOF_starttime)))        Printf ( "STARDATA double                        : stardata->star[0].RLOF_starttime = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].RLOF_starttime, stardata->star[0].RLOF_starttime, (stardata->star[0].RLOF_starttime - stardata->previous_stardata->star[0].RLOF_starttime) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].num_thermal_pulses),(stardata->star[0].num_thermal_pulses)))        Printf ( "STARDATA double                        : stardata->star[0].num_thermal_pulses = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].num_thermal_pulses, stardata->star[0].num_thermal_pulses, (stardata->star[0].num_thermal_pulses - stardata->previous_stardata->star[0].num_thermal_pulses) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].num_thermal_pulses_since_mcmin),(stardata->star[0].num_thermal_pulses_since_mcmin)))        Printf ( "STARDATA double                        : stardata->star[0].num_thermal_pulses_since_mcmin = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].num_thermal_pulses_since_mcmin, stardata->star[0].num_thermal_pulses_since_mcmin, (stardata->star[0].num_thermal_pulses_since_mcmin - stardata->previous_stardata->star[0].num_thermal_pulses_since_mcmin) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dntp),(stardata->star[0].dntp)))        Printf ( "STARDATA double                        : stardata->star[0].dntp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dntp, stardata->star[0].dntp, (stardata->star[0].dntp - stardata->previous_stardata->star[0].dntp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].menv_1tp),(stardata->star[0].menv_1tp)))        Printf ( "STARDATA double                        : stardata->star[0].menv_1tp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].menv_1tp, stardata->star[0].menv_1tp, (stardata->star[0].menv_1tp - stardata->previous_stardata->star[0].menv_1tp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].Mc_prev_pulse),(stardata->star[0].Mc_prev_pulse)))        Printf ( "STARDATA double                        : stardata->star[0].Mc_prev_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].Mc_prev_pulse, stardata->star[0].Mc_prev_pulse, (stardata->star[0].Mc_prev_pulse - stardata->previous_stardata->star[0].Mc_prev_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dm_3dup),(stardata->star[0].dm_3dup)))        Printf ( "STARDATA double                        : stardata->star[0].dm_3dup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dm_3dup, stardata->star[0].dm_3dup, (stardata->star[0].dm_3dup - stardata->previous_stardata->star[0].dm_3dup) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].core_mass_no_3dup),(stardata->star[0].core_mass_no_3dup)))        Printf ( "STARDATA double                        : stardata->star[0].core_mass_no_3dup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].core_mass_no_3dup, stardata->star[0].core_mass_no_3dup, (stardata->star[0].core_mass_no_3dup - stardata->previous_stardata->star[0].core_mass_no_3dup) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mc_bgb),(stardata->star[0].mc_bgb)))        Printf ( "STARDATA double                        : stardata->star[0].mc_bgb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mc_bgb, stardata->star[0].mc_bgb, (stardata->star[0].mc_bgb - stardata->previous_stardata->star[0].mc_bgb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].initial_mcx_EAGB),(stardata->star[0].initial_mcx_EAGB)))        Printf ( "STARDATA double                        : stardata->star[0].initial_mcx_EAGB = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].initial_mcx_EAGB, stardata->star[0].initial_mcx_EAGB, (stardata->star[0].initial_mcx_EAGB - stardata->previous_stardata->star[0].initial_mcx_EAGB) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].time_first_pulse),(stardata->star[0].time_first_pulse)))        Printf ( "STARDATA double                        : stardata->star[0].time_first_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].time_first_pulse, stardata->star[0].time_first_pulse, (stardata->star[0].time_first_pulse - stardata->previous_stardata->star[0].time_first_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].time_prev_pulse),(stardata->star[0].time_prev_pulse)))        Printf ( "STARDATA double                        : stardata->star[0].time_prev_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].time_prev_pulse, stardata->star[0].time_prev_pulse, (stardata->star[0].time_prev_pulse - stardata->previous_stardata->star[0].time_prev_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].time_next_pulse),(stardata->star[0].time_next_pulse)))        Printf ( "STARDATA double                        : stardata->star[0].time_next_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].time_next_pulse, stardata->star[0].time_next_pulse, (stardata->star[0].time_next_pulse - stardata->previous_stardata->star[0].time_next_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].model_time_first_pulse),(stardata->star[0].model_time_first_pulse)))        Printf ( "STARDATA double                        : stardata->star[0].model_time_first_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].model_time_first_pulse, stardata->star[0].model_time_first_pulse, (stardata->star[0].model_time_first_pulse - stardata->previous_stardata->star[0].model_time_first_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].interpulse_period),(stardata->star[0].interpulse_period)))        Printf ( "STARDATA double                        : stardata->star[0].interpulse_period = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].interpulse_period, stardata->star[0].interpulse_period, (stardata->star[0].interpulse_period - stardata->previous_stardata->star[0].interpulse_period) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mc_1tp),(stardata->star[0].mc_1tp)))        Printf ( "STARDATA double                        : stardata->star[0].mc_1tp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mc_1tp, stardata->star[0].mc_1tp, (stardata->star[0].mc_1tp - stardata->previous_stardata->star[0].mc_1tp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].lambda_3dup),(stardata->star[0].lambda_3dup)))        Printf ( "STARDATA double                        : stardata->star[0].lambda_3dup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].lambda_3dup, stardata->star[0].lambda_3dup, (stardata->star[0].lambda_3dup - stardata->previous_stardata->star[0].lambda_3dup) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].nova_beta),(stardata->star[0].nova_beta)))        Printf ( "STARDATA double                        : stardata->star[0].nova_beta = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].nova_beta, stardata->star[0].nova_beta, (stardata->star[0].nova_beta - stardata->previous_stardata->star[0].nova_beta) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].nova_faml),(stardata->star[0].nova_faml)))        Printf ( "STARDATA double                        : stardata->star[0].nova_faml = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].nova_faml, stardata->star[0].nova_faml, (stardata->star[0].nova_faml - stardata->previous_stardata->star[0].nova_faml) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_Rwx),(stardata->star[0].v_Rwx)))        Printf ( "STARDATA double                        : stardata->star[0].v_Rwx = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_Rwx, stardata->star[0].v_Rwx, (stardata->star[0].v_Rwx - stardata->previous_stardata->star[0].v_Rwx) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_Rwy),(stardata->star[0].v_Rwy)))        Printf ( "STARDATA double                        : stardata->star[0].v_Rwy = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_Rwy, stardata->star[0].v_Rwy, (stardata->star[0].v_Rwy - stardata->previous_stardata->star[0].v_Rwy) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_Rwz),(stardata->star[0].v_Rwz)))        Printf ( "STARDATA double                        : stardata->star[0].v_Rwz = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_Rwz, stardata->star[0].v_Rwz, (stardata->star[0].v_Rwz - stardata->previous_stardata->star[0].v_Rwz) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].v_Rw),(stardata->star[0].v_Rw)))        Printf ( "STARDATA double                        : stardata->star[0].v_Rw = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].v_Rw, stardata->star[0].v_Rw, (stardata->star[0].v_Rw - stardata->previous_stardata->star[0].v_Rw) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].spiky_luminosity),(stardata->star[0].spiky_luminosity)))        Printf ( "STARDATA double                        : stardata->star[0].spiky_luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].spiky_luminosity, stardata->star[0].spiky_luminosity, (stardata->star[0].spiky_luminosity - stardata->previous_stardata->star[0].spiky_luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].prev_tagb),(stardata->star[0].prev_tagb)))        Printf ( "STARDATA double                        : stardata->star[0].prev_tagb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].prev_tagb, stardata->star[0].prev_tagb, (stardata->star[0].prev_tagb - stardata->previous_stardata->star[0].prev_tagb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].rho),(stardata->star[0].rho)))        Printf ( "STARDATA double                        : stardata->star[0].rho = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].rho, stardata->star[0].rho, (stardata->star[0].rho - stardata->previous_stardata->star[0].rho) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].temp),(stardata->star[0].temp)))        Printf ( "STARDATA double                        : stardata->star[0].temp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].temp, stardata->star[0].temp, (stardata->star[0].temp - stardata->previous_stardata->star[0].temp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mira),(stardata->star[0].mira)))        Printf ( "STARDATA double                        : stardata->star[0].mira = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mira, stardata->star[0].mira, (stardata->star[0].mira - stardata->previous_stardata->star[0].mira) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].start_HG_mass),(stardata->star[0].start_HG_mass)))        Printf ( "STARDATA double                        : stardata->star[0].start_HG_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].start_HG_mass, stardata->star[0].start_HG_mass, (stardata->star[0].start_HG_mass - stardata->previous_stardata->star[0].start_HG_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].hezamsmetallicity),(stardata->star[0].hezamsmetallicity)))        Printf ( "STARDATA double                        : stardata->star[0].hezamsmetallicity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].hezamsmetallicity, stardata->star[0].hezamsmetallicity, (stardata->star[0].hezamsmetallicity - stardata->previous_stardata->star[0].hezamsmetallicity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].he_t),(stardata->star[0].he_t)))        Printf ( "STARDATA double                        : stardata->star[0].he_t = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].he_t, stardata->star[0].he_t, (stardata->star[0].he_t - stardata->previous_stardata->star[0].he_t) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].he_f),(stardata->star[0].he_f)))        Printf ( "STARDATA double                        : stardata->star[0].he_f = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].he_f, stardata->star[0].he_f, (stardata->star[0].he_f - stardata->previous_stardata->star[0].he_f) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].f_burn),(stardata->star[0].f_burn)))        Printf ( "STARDATA double                        : stardata->star[0].f_burn = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].f_burn, stardata->star[0].f_burn, (stardata->star[0].f_burn - stardata->previous_stardata->star[0].f_burn) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].f_hbb),(stardata->star[0].f_hbb)))        Printf ( "STARDATA double                        : stardata->star[0].f_hbb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].f_hbb, stardata->star[0].f_hbb, (stardata->star[0].f_hbb - stardata->previous_stardata->star[0].f_hbb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].temp_mult),(stardata->star[0].temp_mult)))        Printf ( "STARDATA double                        : stardata->star[0].temp_mult = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].temp_mult, stardata->star[0].temp_mult, (stardata->star[0].temp_mult - stardata->previous_stardata->star[0].temp_mult) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].temp_rise_fac),(stardata->star[0].temp_rise_fac)))        Printf ( "STARDATA double                        : stardata->star[0].temp_rise_fac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].temp_rise_fac, stardata->star[0].temp_rise_fac, (stardata->star[0].temp_rise_fac - stardata->previous_stardata->star[0].temp_rise_fac) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].fmdupburn),(stardata->star[0].fmdupburn)))        Printf ( "STARDATA double                        : stardata->star[0].fmdupburn = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].fmdupburn, stardata->star[0].fmdupburn, (stardata->star[0].fmdupburn - stardata->previous_stardata->star[0].fmdupburn) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].ftimeduphbb),(stardata->star[0].ftimeduphbb)))        Printf ( "STARDATA double                        : stardata->star[0].ftimeduphbb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].ftimeduphbb, stardata->star[0].ftimeduphbb, (stardata->star[0].ftimeduphbb - stardata->previous_stardata->star[0].ftimeduphbb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mixdepth),(stardata->star[0].mixdepth)))        Printf ( "STARDATA double                        : stardata->star[0].mixdepth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mixdepth, stardata->star[0].mixdepth, (stardata->star[0].mixdepth - stardata->previous_stardata->star[0].mixdepth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mixtime),(stardata->star[0].mixtime)))        Printf ( "STARDATA double                        : stardata->star[0].mixtime = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mixtime, stardata->star[0].mixtime, (stardata->star[0].mixtime - stardata->previous_stardata->star[0].mixtime) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dmmix),(stardata->star[0].dmmix)))        Printf ( "STARDATA double                        : stardata->star[0].dmmix = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dmmix, stardata->star[0].dmmix, (stardata->star[0].dmmix - stardata->previous_stardata->star[0].dmmix) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].conv_base),(stardata->star[0].conv_base)))        Printf ( "STARDATA double                        : stardata->star[0].conv_base = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].conv_base, stardata->star[0].conv_base, (stardata->star[0].conv_base - stardata->previous_stardata->star[0].conv_base) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dmacc),(stardata->star[0].dmacc)))        Printf ( "STARDATA double                        : stardata->star[0].dmacc = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dmacc, stardata->star[0].dmacc, (stardata->star[0].dmacc - stardata->previous_stardata->star[0].dmacc) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].dm_companion_SN),(stardata->star[0].dm_companion_SN)))        Printf ( "STARDATA double                        : stardata->star[0].dm_companion_SN = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].dm_companion_SN, stardata->star[0].dm_companion_SN, (stardata->star[0].dm_companion_SN - stardata->previous_stardata->star[0].dm_companion_SN) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].max_mix_depth),(stardata->star[0].max_mix_depth)))        Printf ( "STARDATA double                        : stardata->star[0].max_mix_depth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].max_mix_depth, stardata->star[0].max_mix_depth, (stardata->star[0].max_mix_depth - stardata->previous_stardata->star[0].max_mix_depth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].prev_depth),(stardata->star[0].prev_depth)))        Printf ( "STARDATA double                        : stardata->star[0].prev_depth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].prev_depth, stardata->star[0].prev_depth, (stardata->star[0].prev_depth - stardata->previous_stardata->star[0].prev_depth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].he_mcmax),(stardata->star[0].he_mcmax)))        Printf ( "STARDATA double                        : stardata->star[0].he_mcmax = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].he_mcmax, stardata->star[0].he_mcmax, (stardata->star[0].he_mcmax - stardata->previous_stardata->star[0].he_mcmax) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mconv),(stardata->star[0].mconv)))        Printf ( "STARDATA double                        : stardata->star[0].mconv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mconv, stardata->star[0].mconv, (stardata->star[0].mconv - stardata->previous_stardata->star[0].mconv) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].thickest_mconv),(stardata->star[0].thickest_mconv)))        Printf ( "STARDATA double                        : stardata->star[0].thickest_mconv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].thickest_mconv, stardata->star[0].thickest_mconv, (stardata->star[0].thickest_mconv - stardata->previous_stardata->star[0].thickest_mconv) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].Xenv[i0]),(stardata->star[0].Xenv[i0])))         Printf ( "STARDATA double                        : stardata->star[0].Xenv[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].Xenv[i0], stardata->star[0].Xenv[i0], (stardata->star[0].Xenv[i0] - stardata->previous_stardata->star[0].Xenv[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].Xacc[i0]),(stardata->star[0].Xacc[i0])))         Printf ( "STARDATA double                        : stardata->star[0].Xacc[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].Xacc[i0], stardata->star[0].Xacc[i0], (stardata->star[0].Xacc[i0] - stardata->previous_stardata->star[0].Xacc[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].Xinit[i0]),(stardata->star[0].Xinit[i0])))         Printf ( "STARDATA double                        : stardata->star[0].Xinit[% 3d]                                 = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].Xinit[i0], stardata->star[0].Xinit[i0], (stardata->star[0].Xinit[i0] - stardata->previous_stardata->star[0].Xinit[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].Xyield[i0]),(stardata->star[0].Xyield[i0])))         Printf ( "STARDATA double                        : stardata->star[0].Xyield[% 3d]                                = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].Xyield[i0], stardata->star[0].Xyield[i0], (stardata->star[0].Xyield[i0] - stardata->previous_stardata->star[0].Xyield[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].Xhbb[i0]),(stardata->star[0].Xhbb[i0])))         Printf ( "STARDATA double                        : stardata->star[0].Xhbb[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].Xhbb[i0], stardata->star[0].Xhbb[i0], (stardata->star[0].Xhbb[i0] - stardata->previous_stardata->star[0].Xhbb[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].XWR0[i0]),(stardata->star[0].XWR0[i0])))         Printf ( "STARDATA double                        : stardata->star[0].XWR0[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].XWR0[i0], stardata->star[0].XWR0[i0], (stardata->star[0].XWR0[i0] - stardata->previous_stardata->star[0].XWR0[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 26; i0 ++)
-    {
-{
-    int i1;
-    for(i1 = 0; i1 < 489; i1 ++)
-    {
-        Printf ( "STARDATA double                        : stardata->star[0].Xsource[% 3d,% 3d]                           = %g\n", i0, i1,  stardata->star[0].Xsource[i0][i1] ) ;
-    }
-}
-    }
-}
-if(!FEQUAL((stardata->previous_stardata->star[0].MS_mass),(stardata->star[0].MS_mass)))        Printf ( "STARDATA double                        : stardata->star[0].MS_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].MS_mass, stardata->star[0].MS_mass, (stardata->star[0].MS_mass - stardata->previous_stardata->star[0].MS_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[0].mc_gb_was),(stardata->star[0].mc_gb_was)))        Printf ( "STARDATA double                        : stardata->star[0].mc_gb_was = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[0].mc_gb_was, stardata->star[0].mc_gb_was, (stardata->star[0].mc_gb_was - stardata->previous_stardata->star[0].mc_gb_was) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 24; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[0].stellar_colour[i0]),(stardata->star[0].stellar_colour[i0])))         Printf ( "STARDATA double                        : stardata->star[0].stellar_colour[% 3d]                        = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[0].stellar_colour[i0], stardata->star[0].stellar_colour[i0], (stardata->star[0].stellar_colour[i0] - stardata->previous_stardata->star[0].stellar_colour[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->star[0].stellar_type)!=(stardata->star[0].stellar_type)))        Printf ( "STARDATA int                           : stardata->star[0].stellar_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].stellar_type, stardata->star[0].stellar_type, (stardata->star[0].stellar_type - stardata->previous_stardata->star[0].stellar_type) ) ;
-if(((stardata->previous_stardata->star[0].detached_stellar_type)!=(stardata->star[0].detached_stellar_type)))        Printf ( "STARDATA int                           : stardata->star[0].detached_stellar_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].detached_stellar_type, stardata->star[0].detached_stellar_type, (stardata->star[0].detached_stellar_type - stardata->previous_stardata->star[0].detached_stellar_type) ) ;
-if(((stardata->previous_stardata->star[0].starnum)!=(stardata->star[0].starnum)))        Printf ( "STARDATA int                           : stardata->star[0].starnum = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].starnum, stardata->star[0].starnum, (stardata->star[0].starnum - stardata->previous_stardata->star[0].starnum) ) ;
-if(((stardata->previous_stardata->star[0].dtlimiter)!=(stardata->star[0].dtlimiter)))        Printf ( "STARDATA int                           : stardata->star[0].dtlimiter = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].dtlimiter, stardata->star[0].dtlimiter, (stardata->star[0].dtlimiter - stardata->previous_stardata->star[0].dtlimiter) ) ;
-if(((stardata->previous_stardata->star[0].SN_type)!=(stardata->star[0].SN_type)))        Printf ( "STARDATA int                           : stardata->star[0].SN_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].SN_type, stardata->star[0].SN_type, (stardata->star[0].SN_type - stardata->previous_stardata->star[0].SN_type) ) ;
-if(((stardata->previous_stardata->star[0].was_SN)!=(stardata->star[0].was_SN)))        Printf ( "STARDATA int                           : stardata->star[0].was_SN = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].was_SN, stardata->star[0].was_SN, (stardata->star[0].was_SN - stardata->previous_stardata->star[0].was_SN) ) ;
-if(((stardata->previous_stardata->star[0].prev_kick_pulse_number)!=(stardata->star[0].prev_kick_pulse_number)))        Printf ( "STARDATA int                           : stardata->star[0].prev_kick_pulse_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].prev_kick_pulse_number, stardata->star[0].prev_kick_pulse_number, (stardata->star[0].prev_kick_pulse_number - stardata->previous_stardata->star[0].prev_kick_pulse_number) ) ;
-if(((stardata->previous_stardata->star[0].sn_last_time)!=(stardata->star[0].sn_last_time)))        Printf ( "STARDATA int                           : stardata->star[0].sn_last_time = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].sn_last_time, stardata->star[0].sn_last_time, (stardata->star[0].sn_last_time - stardata->previous_stardata->star[0].sn_last_time) ) ;
-if(((stardata->previous_stardata->star[0].compact_core_type)!=(stardata->star[0].compact_core_type)))        Printf ( "STARDATA int                           : stardata->star[0].compact_core_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[0].compact_core_type, stardata->star[0].compact_core_type, (stardata->star[0].compact_core_type - stardata->previous_stardata->star[0].compact_core_type) ) ;
-if(((stardata->previous_stardata->star[0].reject)!=(stardata->star[0].reject)))        Printf ( "STARDATA unsignedint                   : stardata->star[0].reject = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->star[0].reject, stardata->star[0].reject, (stardata->star[0].reject - stardata->previous_stardata->star[0].reject) ) ;
-if(((stardata->previous_stardata->star[1].hybrid_HeCOWD)!=(stardata->star[1].hybrid_HeCOWD)))        Printf ( "STARDATA Boolean                         : stardata->star[1].hybrid_HeCOWD = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].hybrid_HeCOWD, stardata->star[1].hybrid_HeCOWD, (stardata->star[1].hybrid_HeCOWD - stardata->previous_stardata->star[1].hybrid_HeCOWD) ) ;
-if(((stardata->previous_stardata->star[1].kick_WD)!=(stardata->star[1].kick_WD)))        Printf ( "STARDATA Boolean                         : stardata->star[1].kick_WD = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].kick_WD, stardata->star[1].kick_WD, (stardata->star[1].kick_WD - stardata->previous_stardata->star[1].kick_WD) ) ;
-if(((stardata->previous_stardata->star[1].already_kicked_WD)!=(stardata->star[1].already_kicked_WD)))        Printf ( "STARDATA Boolean                         : stardata->star[1].already_kicked_WD = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].already_kicked_WD, stardata->star[1].already_kicked_WD, (stardata->star[1].already_kicked_WD - stardata->previous_stardata->star[1].already_kicked_WD) ) ;
-if(((stardata->previous_stardata->star[1].rstar)!=(stardata->star[1].rstar)))        Printf ( "STARDATA Boolean                         : stardata->star[1].rstar = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].rstar, stardata->star[1].rstar, (stardata->star[1].rstar - stardata->previous_stardata->star[1].rstar) ) ;
-if(((stardata->previous_stardata->star[1].first_dredge_up)!=(stardata->star[1].first_dredge_up)))        Printf ( "STARDATA Boolean                         : stardata->star[1].first_dredge_up = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].first_dredge_up, stardata->star[1].first_dredge_up, (stardata->star[1].first_dredge_up - stardata->previous_stardata->star[1].first_dredge_up) ) ;
-if(((stardata->previous_stardata->star[1].second_dredge_up)!=(stardata->star[1].second_dredge_up)))        Printf ( "STARDATA Boolean                         : stardata->star[1].second_dredge_up = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].second_dredge_up, stardata->star[1].second_dredge_up, (stardata->star[1].second_dredge_up - stardata->previous_stardata->star[1].second_dredge_up) ) ;
-if(((stardata->previous_stardata->star[1].newhestar)!=(stardata->star[1].newhestar)))        Printf ( "STARDATA Boolean                         : stardata->star[1].newhestar = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].newhestar, stardata->star[1].newhestar, (stardata->star[1].newhestar - stardata->previous_stardata->star[1].newhestar) ) ;
-if(((stardata->previous_stardata->star[1].first_dup_phase_in_firsttime)!=(stardata->star[1].first_dup_phase_in_firsttime)))        Printf ( "STARDATA Boolean                         : stardata->star[1].first_dup_phase_in_firsttime = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].first_dup_phase_in_firsttime, stardata->star[1].first_dup_phase_in_firsttime, (stardata->star[1].first_dup_phase_in_firsttime - stardata->previous_stardata->star[1].first_dup_phase_in_firsttime) ) ;
-if(((stardata->previous_stardata->star[1].blue_straggler)!=(stardata->star[1].blue_straggler)))        Printf ( "STARDATA Boolean                         : stardata->star[1].blue_straggler = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].blue_straggler, stardata->star[1].blue_straggler, (stardata->star[1].blue_straggler - stardata->previous_stardata->star[1].blue_straggler) ) ;
-if(((stardata->previous_stardata->star[1].PMS)!=(stardata->star[1].PMS)))        Printf ( "STARDATA Boolean                         : stardata->star[1].PMS = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].PMS, stardata->star[1].PMS, (stardata->star[1].PMS - stardata->previous_stardata->star[1].PMS) ) ;
-if(((stardata->previous_stardata->star[1].tide_spin_lock)!=(stardata->star[1].tide_spin_lock)))        Printf ( "STARDATA Boolean                         : stardata->star[1].tide_spin_lock = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].tide_spin_lock, stardata->star[1].tide_spin_lock, (stardata->star[1].tide_spin_lock - stardata->previous_stardata->star[1].tide_spin_lock) ) ;
-
-
-
-if(!FEQUAL((stardata->previous_stardata->star[1].mass),(stardata->star[1].mass)))        Printf ( "STARDATA double                        : stardata->star[1].mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mass, stardata->star[1].mass, (stardata->star[1].mass - stardata->previous_stardata->star[1].mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].radius),(stardata->star[1].radius)))        Printf ( "STARDATA double                        : stardata->star[1].radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].radius, stardata->star[1].radius, (stardata->star[1].radius - stardata->previous_stardata->star[1].radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].effective_radius),(stardata->star[1].effective_radius)))        Printf ( "STARDATA double                        : stardata->star[1].effective_radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].effective_radius, stardata->star[1].effective_radius, (stardata->star[1].effective_radius - stardata->previous_stardata->star[1].effective_radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].roche_radius),(stardata->star[1].roche_radius)))        Printf ( "STARDATA double                        : stardata->star[1].roche_radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].roche_radius, stardata->star[1].roche_radius, (stardata->star[1].roche_radius - stardata->previous_stardata->star[1].roche_radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].roche_radius_at_periastron),(stardata->star[1].roche_radius_at_periastron)))        Printf ( "STARDATA double                        : stardata->star[1].roche_radius_at_periastron = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].roche_radius_at_periastron, stardata->star[1].roche_radius_at_periastron, (stardata->star[1].roche_radius_at_periastron - stardata->previous_stardata->star[1].roche_radius_at_periastron) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rmin),(stardata->star[1].rmin)))        Printf ( "STARDATA double                        : stardata->star[1].rmin = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rmin, stardata->star[1].rmin, (stardata->star[1].rmin - stardata->previous_stardata->star[1].rmin) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].phase_start_mass),(stardata->star[1].phase_start_mass)))        Printf ( "STARDATA double                        : stardata->star[1].phase_start_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].phase_start_mass, stardata->star[1].phase_start_mass, (stardata->star[1].phase_start_mass - stardata->previous_stardata->star[1].phase_start_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].phase_start_core_mass),(stardata->star[1].phase_start_core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].phase_start_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].phase_start_core_mass, stardata->star[1].phase_start_core_mass, (stardata->star[1].phase_start_core_mass - stardata->previous_stardata->star[1].phase_start_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].age),(stardata->star[1].age)))        Printf ( "STARDATA double                        : stardata->star[1].age = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].age, stardata->star[1].age, (stardata->star[1].age - stardata->previous_stardata->star[1].age) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].stellar_type_tstart),(stardata->star[1].stellar_type_tstart)))        Printf ( "STARDATA double                        : stardata->star[1].stellar_type_tstart = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].stellar_type_tstart, stardata->star[1].stellar_type_tstart, (stardata->star[1].stellar_type_tstart - stardata->previous_stardata->star[1].stellar_type_tstart) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].epoch),(stardata->star[1].epoch)))        Printf ( "STARDATA double                        : stardata->star[1].epoch = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].epoch, stardata->star[1].epoch, (stardata->star[1].epoch - stardata->previous_stardata->star[1].epoch) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].core_mass),(stardata->star[1].core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].core_mass, stardata->star[1].core_mass, (stardata->star[1].core_mass - stardata->previous_stardata->star[1].core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].GB_core_mass),(stardata->star[1].GB_core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].GB_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].GB_core_mass, stardata->star[1].GB_core_mass, (stardata->star[1].GB_core_mass - stardata->previous_stardata->star[1].GB_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].CO_core_mass),(stardata->star[1].CO_core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].CO_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].CO_core_mass, stardata->star[1].CO_core_mass, (stardata->star[1].CO_core_mass - stardata->previous_stardata->star[1].CO_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].max_MS_core_mass),(stardata->star[1].max_MS_core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].max_MS_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].max_MS_core_mass, stardata->star[1].max_MS_core_mass, (stardata->star[1].max_MS_core_mass - stardata->previous_stardata->star[1].max_MS_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].core_radius),(stardata->star[1].core_radius)))        Printf ( "STARDATA double                        : stardata->star[1].core_radius = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].core_radius, stardata->star[1].core_radius, (stardata->star[1].core_radius - stardata->previous_stardata->star[1].core_radius) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].luminosity),(stardata->star[1].luminosity)))        Printf ( "STARDATA double                        : stardata->star[1].luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].luminosity, stardata->star[1].luminosity, (stardata->star[1].luminosity - stardata->previous_stardata->star[1].luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].accretion_luminosity),(stardata->star[1].accretion_luminosity)))        Printf ( "STARDATA double                        : stardata->star[1].accretion_luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].accretion_luminosity, stardata->star[1].accretion_luminosity, (stardata->star[1].accretion_luminosity - stardata->previous_stardata->star[1].accretion_luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].omega),(stardata->star[1].omega)))        Printf ( "STARDATA double                        : stardata->star[1].omega = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].omega, stardata->star[1].omega, (stardata->star[1].omega - stardata->previous_stardata->star[1].omega) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].omega_crit),(stardata->star[1].omega_crit)))        Printf ( "STARDATA double                        : stardata->star[1].omega_crit = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].omega_crit, stardata->star[1].omega_crit, (stardata->star[1].omega_crit - stardata->previous_stardata->star[1].omega_crit) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].l_acc),(stardata->star[1].l_acc)))        Printf ( "STARDATA double                        : stardata->star[1].l_acc = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].l_acc, stardata->star[1].l_acc, (stardata->star[1].l_acc - stardata->previous_stardata->star[1].l_acc) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].angular_momentum),(stardata->star[1].angular_momentum)))        Printf ( "STARDATA double                        : stardata->star[1].angular_momentum = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].angular_momentum, stardata->star[1].angular_momentum, (stardata->star[1].angular_momentum - stardata->previous_stardata->star[1].angular_momentum) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].q),(stardata->star[1].q)))        Printf ( "STARDATA double                        : stardata->star[1].q = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].q, stardata->star[1].q, (stardata->star[1].q - stardata->previous_stardata->star[1].q) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].tbgb),(stardata->star[1].tbgb)))        Printf ( "STARDATA double                        : stardata->star[1].tbgb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].tbgb, stardata->star[1].tbgb, (stardata->star[1].tbgb - stardata->previous_stardata->star[1].tbgb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].tms),(stardata->star[1].tms)))        Printf ( "STARDATA double                        : stardata->star[1].tms = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].tms, stardata->star[1].tms, (stardata->star[1].tms - stardata->previous_stardata->star[1].tms) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dM_in_timestep),(stardata->star[1].dM_in_timestep)))        Printf ( "STARDATA double                        : stardata->star[1].dM_in_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dM_in_timestep, stardata->star[1].dM_in_timestep, (stardata->star[1].dM_in_timestep - stardata->previous_stardata->star[1].dM_in_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].vwind),(stardata->star[1].vwind)))        Printf ( "STARDATA double                        : stardata->star[1].vwind = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].vwind, stardata->star[1].vwind, (stardata->star[1].vwind - stardata->previous_stardata->star[1].vwind) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mdot),(stardata->star[1].mdot)))        Printf ( "STARDATA double                        : stardata->star[1].mdot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mdot, stardata->star[1].mdot, (stardata->star[1].mdot - stardata->previous_stardata->star[1].mdot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mcxx),(stardata->star[1].mcxx)))        Printf ( "STARDATA double                        : stardata->star[1].mcxx = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mcxx, stardata->star[1].mcxx, (stardata->star[1].mcxx - stardata->previous_stardata->star[1].mcxx) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rol0),(stardata->star[1].rol0)))        Printf ( "STARDATA double                        : stardata->star[1].rol0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rol0, stardata->star[1].rol0, (stardata->star[1].rol0 - stardata->previous_stardata->star[1].rol0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].aj0),(stardata->star[1].aj0)))        Printf ( "STARDATA double                        : stardata->star[1].aj0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].aj0, stardata->star[1].aj0, (stardata->star[1].aj0 - stardata->previous_stardata->star[1].aj0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mass_at_RLOF_start),(stardata->star[1].mass_at_RLOF_start)))        Printf ( "STARDATA double                        : stardata->star[1].mass_at_RLOF_start = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mass_at_RLOF_start, stardata->star[1].mass_at_RLOF_start, (stardata->star[1].mass_at_RLOF_start - stardata->previous_stardata->star[1].mass_at_RLOF_start) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rdot),(stardata->star[1].rdot)))        Printf ( "STARDATA double                        : stardata->star[1].rdot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rdot, stardata->star[1].rdot, (stardata->star[1].rdot - stardata->previous_stardata->star[1].rdot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].drdt),(stardata->star[1].drdt)))        Printf ( "STARDATA double                        : stardata->star[1].drdt = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].drdt, stardata->star[1].drdt, (stardata->star[1].drdt - stardata->previous_stardata->star[1].drdt) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].stellar_timestep),(stardata->star[1].stellar_timestep)))        Printf ( "STARDATA double                        : stardata->star[1].stellar_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].stellar_timestep, stardata->star[1].stellar_timestep, (stardata->star[1].stellar_timestep - stardata->previous_stardata->star[1].stellar_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].tm),(stardata->star[1].tm)))        Printf ( "STARDATA double                        : stardata->star[1].tm = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].tm, stardata->star[1].tm, (stardata->star[1].tm - stardata->previous_stardata->star[1].tm) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].tn),(stardata->star[1].tn)))        Printf ( "STARDATA double                        : stardata->star[1].tn = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].tn, stardata->star[1].tn, (stardata->star[1].tn - stardata->previous_stardata->star[1].tn) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].tkh),(stardata->star[1].tkh)))        Printf ( "STARDATA double                        : stardata->star[1].tkh = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].tkh, stardata->star[1].tkh, (stardata->star[1].tkh - stardata->previous_stardata->star[1].tkh) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].max_EAGB_He_core_mass),(stardata->star[1].max_EAGB_He_core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].max_EAGB_He_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].max_EAGB_He_core_mass, stardata->star[1].max_EAGB_He_core_mass, (stardata->star[1].max_EAGB_He_core_mass - stardata->previous_stardata->star[1].max_EAGB_He_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].menv),(stardata->star[1].menv)))        Printf ( "STARDATA double                        : stardata->star[1].menv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].menv, stardata->star[1].menv, (stardata->star[1].menv - stardata->previous_stardata->star[1].menv) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].renv),(stardata->star[1].renv)))        Printf ( "STARDATA double                        : stardata->star[1].renv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].renv, stardata->star[1].renv, (stardata->star[1].renv - stardata->previous_stardata->star[1].renv) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].k2),(stardata->star[1].k2)))        Printf ( "STARDATA double                        : stardata->star[1].k2 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].k2, stardata->star[1].k2, (stardata->star[1].k2 - stardata->previous_stardata->star[1].k2) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].compact_core_mass),(stardata->star[1].compact_core_mass)))        Printf ( "STARDATA double                        : stardata->star[1].compact_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].compact_core_mass, stardata->star[1].compact_core_mass, (stardata->star[1].compact_core_mass - stardata->previous_stardata->star[1].compact_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].effective_zams_mass),(stardata->star[1].effective_zams_mass)))        Printf ( "STARDATA double                        : stardata->star[1].effective_zams_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].effective_zams_mass, stardata->star[1].effective_zams_mass, (stardata->star[1].effective_zams_mass - stardata->previous_stardata->star[1].effective_zams_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].pms_mass),(stardata->star[1].pms_mass)))        Printf ( "STARDATA double                        : stardata->star[1].pms_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].pms_mass, stardata->star[1].pms_mass, (stardata->star[1].pms_mass - stardata->previous_stardata->star[1].pms_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mcx_EAGB),(stardata->star[1].mcx_EAGB)))        Printf ( "STARDATA double                        : stardata->star[1].mcx_EAGB = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mcx_EAGB, stardata->star[1].mcx_EAGB, (stardata->star[1].mcx_EAGB - stardata->previous_stardata->star[1].mcx_EAGB) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rzams),(stardata->star[1].rzams)))        Printf ( "STARDATA double                        : stardata->star[1].rzams = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rzams, stardata->star[1].rzams, (stardata->star[1].rzams - stardata->previous_stardata->star[1].rzams) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rtms),(stardata->star[1].rtms)))        Printf ( "STARDATA double                        : stardata->star[1].rtms = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rtms, stardata->star[1].rtms, (stardata->star[1].rtms - stardata->previous_stardata->star[1].rtms) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].last_mass),(stardata->star[1].last_mass)))        Printf ( "STARDATA double                        : stardata->star[1].last_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].last_mass, stardata->star[1].last_mass, (stardata->star[1].last_mass - stardata->previous_stardata->star[1].last_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].A0),(stardata->star[1].A0)))        Printf ( "STARDATA double                        : stardata->star[1].A0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].A0, stardata->star[1].A0, (stardata->star[1].A0 - stardata->previous_stardata->star[1].A0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].Xray_luminosity),(stardata->star[1].Xray_luminosity)))        Printf ( "STARDATA double                        : stardata->star[1].Xray_luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].Xray_luminosity, stardata->star[1].Xray_luminosity, (stardata->star[1].Xray_luminosity - stardata->previous_stardata->star[1].Xray_luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].vrot0),(stardata->star[1].vrot0)))        Printf ( "STARDATA double                        : stardata->star[1].vrot0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].vrot0, stardata->star[1].vrot0, (stardata->star[1].vrot0 - stardata->previous_stardata->star[1].vrot0) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_sph),(stardata->star[1].v_sph)))        Printf ( "STARDATA double                        : stardata->star[1].v_sph = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_sph, stardata->star[1].v_sph, (stardata->star[1].v_sph - stardata->previous_stardata->star[1].v_sph) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_eq),(stardata->star[1].v_eq)))        Printf ( "STARDATA double                        : stardata->star[1].v_eq = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_eq, stardata->star[1].v_eq, (stardata->star[1].v_eq - stardata->previous_stardata->star[1].v_eq) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_crit_sph),(stardata->star[1].v_crit_sph)))        Printf ( "STARDATA double                        : stardata->star[1].v_crit_sph = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_crit_sph, stardata->star[1].v_crit_sph, (stardata->star[1].v_crit_sph - stardata->previous_stardata->star[1].v_crit_sph) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_crit_eq),(stardata->star[1].v_crit_eq)))        Printf ( "STARDATA double                        : stardata->star[1].v_crit_eq = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_crit_eq, stardata->star[1].v_crit_eq, (stardata->star[1].v_crit_eq - stardata->previous_stardata->star[1].v_crit_eq) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].omega_ratio),(stardata->star[1].omega_ratio)))        Printf ( "STARDATA double                        : stardata->star[1].omega_ratio = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].omega_ratio, stardata->star[1].omega_ratio, (stardata->star[1].omega_ratio - stardata->previous_stardata->star[1].omega_ratio) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_sph_ratio),(stardata->star[1].v_sph_ratio)))        Printf ( "STARDATA double                        : stardata->star[1].v_sph_ratio = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_sph_ratio, stardata->star[1].v_sph_ratio, (stardata->star[1].v_sph_ratio - stardata->previous_stardata->star[1].v_sph_ratio) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_eq_ratio),(stardata->star[1].v_eq_ratio)))        Printf ( "STARDATA double                        : stardata->star[1].v_eq_ratio = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_eq_ratio, stardata->star[1].v_eq_ratio, (stardata->star[1].v_eq_ratio - stardata->previous_stardata->star[1].v_eq_ratio) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].disc_mdot),(stardata->star[1].disc_mdot)))        Printf ( "STARDATA double                        : stardata->star[1].disc_mdot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].disc_mdot, stardata->star[1].disc_mdot, (stardata->star[1].disc_mdot - stardata->previous_stardata->star[1].disc_mdot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rotfac),(stardata->star[1].rotfac)))        Printf ( "STARDATA double                        : stardata->star[1].rotfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rotfac, stardata->star[1].rotfac, (stardata->star[1].rotfac - stardata->previous_stardata->star[1].rotfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].prev_r),(stardata->star[1].prev_r)))        Printf ( "STARDATA double                        : stardata->star[1].prev_r = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].prev_r, stardata->star[1].prev_r, (stardata->star[1].prev_r - stardata->previous_stardata->star[1].prev_r) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].prev_dm),(stardata->star[1].prev_dm)))        Printf ( "STARDATA double                        : stardata->star[1].prev_dm = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].prev_dm, stardata->star[1].prev_dm, (stardata->star[1].prev_dm - stardata->previous_stardata->star[1].prev_dm) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].roldot),(stardata->star[1].roldot)))        Printf ( "STARDATA double                        : stardata->star[1].roldot = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].roldot, stardata->star[1].roldot, (stardata->star[1].roldot - stardata->previous_stardata->star[1].roldot) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dmdr),(stardata->star[1].dmdr)))        Printf ( "STARDATA double                        : stardata->star[1].dmdr = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dmdr, stardata->star[1].dmdr, (stardata->star[1].dmdr - stardata->previous_stardata->star[1].dmdr) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].nth),(stardata->star[1].nth)))        Printf ( "STARDATA double                        : stardata->star[1].nth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].nth, stardata->star[1].nth, (stardata->star[1].nth - stardata->previous_stardata->star[1].nth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].RLOF_tkh),(stardata->star[1].RLOF_tkh)))        Printf ( "STARDATA double                        : stardata->star[1].RLOF_tkh = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].RLOF_tkh, stardata->star[1].RLOF_tkh, (stardata->star[1].RLOF_tkh - stardata->previous_stardata->star[1].RLOF_tkh) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].RLOF_starttime),(stardata->star[1].RLOF_starttime)))        Printf ( "STARDATA double                        : stardata->star[1].RLOF_starttime = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].RLOF_starttime, stardata->star[1].RLOF_starttime, (stardata->star[1].RLOF_starttime - stardata->previous_stardata->star[1].RLOF_starttime) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].num_thermal_pulses),(stardata->star[1].num_thermal_pulses)))        Printf ( "STARDATA double                        : stardata->star[1].num_thermal_pulses = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].num_thermal_pulses, stardata->star[1].num_thermal_pulses, (stardata->star[1].num_thermal_pulses - stardata->previous_stardata->star[1].num_thermal_pulses) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].num_thermal_pulses_since_mcmin),(stardata->star[1].num_thermal_pulses_since_mcmin)))        Printf ( "STARDATA double                        : stardata->star[1].num_thermal_pulses_since_mcmin = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].num_thermal_pulses_since_mcmin, stardata->star[1].num_thermal_pulses_since_mcmin, (stardata->star[1].num_thermal_pulses_since_mcmin - stardata->previous_stardata->star[1].num_thermal_pulses_since_mcmin) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dntp),(stardata->star[1].dntp)))        Printf ( "STARDATA double                        : stardata->star[1].dntp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dntp, stardata->star[1].dntp, (stardata->star[1].dntp - stardata->previous_stardata->star[1].dntp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].menv_1tp),(stardata->star[1].menv_1tp)))        Printf ( "STARDATA double                        : stardata->star[1].menv_1tp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].menv_1tp, stardata->star[1].menv_1tp, (stardata->star[1].menv_1tp - stardata->previous_stardata->star[1].menv_1tp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].Mc_prev_pulse),(stardata->star[1].Mc_prev_pulse)))        Printf ( "STARDATA double                        : stardata->star[1].Mc_prev_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].Mc_prev_pulse, stardata->star[1].Mc_prev_pulse, (stardata->star[1].Mc_prev_pulse - stardata->previous_stardata->star[1].Mc_prev_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dm_3dup),(stardata->star[1].dm_3dup)))        Printf ( "STARDATA double                        : stardata->star[1].dm_3dup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dm_3dup, stardata->star[1].dm_3dup, (stardata->star[1].dm_3dup - stardata->previous_stardata->star[1].dm_3dup) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].core_mass_no_3dup),(stardata->star[1].core_mass_no_3dup)))        Printf ( "STARDATA double                        : stardata->star[1].core_mass_no_3dup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].core_mass_no_3dup, stardata->star[1].core_mass_no_3dup, (stardata->star[1].core_mass_no_3dup - stardata->previous_stardata->star[1].core_mass_no_3dup) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mc_bgb),(stardata->star[1].mc_bgb)))        Printf ( "STARDATA double                        : stardata->star[1].mc_bgb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mc_bgb, stardata->star[1].mc_bgb, (stardata->star[1].mc_bgb - stardata->previous_stardata->star[1].mc_bgb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].initial_mcx_EAGB),(stardata->star[1].initial_mcx_EAGB)))        Printf ( "STARDATA double                        : stardata->star[1].initial_mcx_EAGB = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].initial_mcx_EAGB, stardata->star[1].initial_mcx_EAGB, (stardata->star[1].initial_mcx_EAGB - stardata->previous_stardata->star[1].initial_mcx_EAGB) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].time_first_pulse),(stardata->star[1].time_first_pulse)))        Printf ( "STARDATA double                        : stardata->star[1].time_first_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].time_first_pulse, stardata->star[1].time_first_pulse, (stardata->star[1].time_first_pulse - stardata->previous_stardata->star[1].time_first_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].time_prev_pulse),(stardata->star[1].time_prev_pulse)))        Printf ( "STARDATA double                        : stardata->star[1].time_prev_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].time_prev_pulse, stardata->star[1].time_prev_pulse, (stardata->star[1].time_prev_pulse - stardata->previous_stardata->star[1].time_prev_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].time_next_pulse),(stardata->star[1].time_next_pulse)))        Printf ( "STARDATA double                        : stardata->star[1].time_next_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].time_next_pulse, stardata->star[1].time_next_pulse, (stardata->star[1].time_next_pulse - stardata->previous_stardata->star[1].time_next_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].model_time_first_pulse),(stardata->star[1].model_time_first_pulse)))        Printf ( "STARDATA double                        : stardata->star[1].model_time_first_pulse = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].model_time_first_pulse, stardata->star[1].model_time_first_pulse, (stardata->star[1].model_time_first_pulse - stardata->previous_stardata->star[1].model_time_first_pulse) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].interpulse_period),(stardata->star[1].interpulse_period)))        Printf ( "STARDATA double                        : stardata->star[1].interpulse_period = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].interpulse_period, stardata->star[1].interpulse_period, (stardata->star[1].interpulse_period - stardata->previous_stardata->star[1].interpulse_period) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mc_1tp),(stardata->star[1].mc_1tp)))        Printf ( "STARDATA double                        : stardata->star[1].mc_1tp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mc_1tp, stardata->star[1].mc_1tp, (stardata->star[1].mc_1tp - stardata->previous_stardata->star[1].mc_1tp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].lambda_3dup),(stardata->star[1].lambda_3dup)))        Printf ( "STARDATA double                        : stardata->star[1].lambda_3dup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].lambda_3dup, stardata->star[1].lambda_3dup, (stardata->star[1].lambda_3dup - stardata->previous_stardata->star[1].lambda_3dup) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].nova_beta),(stardata->star[1].nova_beta)))        Printf ( "STARDATA double                        : stardata->star[1].nova_beta = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].nova_beta, stardata->star[1].nova_beta, (stardata->star[1].nova_beta - stardata->previous_stardata->star[1].nova_beta) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].nova_faml),(stardata->star[1].nova_faml)))        Printf ( "STARDATA double                        : stardata->star[1].nova_faml = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].nova_faml, stardata->star[1].nova_faml, (stardata->star[1].nova_faml - stardata->previous_stardata->star[1].nova_faml) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_Rwx),(stardata->star[1].v_Rwx)))        Printf ( "STARDATA double                        : stardata->star[1].v_Rwx = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_Rwx, stardata->star[1].v_Rwx, (stardata->star[1].v_Rwx - stardata->previous_stardata->star[1].v_Rwx) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_Rwy),(stardata->star[1].v_Rwy)))        Printf ( "STARDATA double                        : stardata->star[1].v_Rwy = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_Rwy, stardata->star[1].v_Rwy, (stardata->star[1].v_Rwy - stardata->previous_stardata->star[1].v_Rwy) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_Rwz),(stardata->star[1].v_Rwz)))        Printf ( "STARDATA double                        : stardata->star[1].v_Rwz = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_Rwz, stardata->star[1].v_Rwz, (stardata->star[1].v_Rwz - stardata->previous_stardata->star[1].v_Rwz) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].v_Rw),(stardata->star[1].v_Rw)))        Printf ( "STARDATA double                        : stardata->star[1].v_Rw = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].v_Rw, stardata->star[1].v_Rw, (stardata->star[1].v_Rw - stardata->previous_stardata->star[1].v_Rw) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].spiky_luminosity),(stardata->star[1].spiky_luminosity)))        Printf ( "STARDATA double                        : stardata->star[1].spiky_luminosity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].spiky_luminosity, stardata->star[1].spiky_luminosity, (stardata->star[1].spiky_luminosity - stardata->previous_stardata->star[1].spiky_luminosity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].prev_tagb),(stardata->star[1].prev_tagb)))        Printf ( "STARDATA double                        : stardata->star[1].prev_tagb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].prev_tagb, stardata->star[1].prev_tagb, (stardata->star[1].prev_tagb - stardata->previous_stardata->star[1].prev_tagb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].rho),(stardata->star[1].rho)))        Printf ( "STARDATA double                        : stardata->star[1].rho = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].rho, stardata->star[1].rho, (stardata->star[1].rho - stardata->previous_stardata->star[1].rho) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].temp),(stardata->star[1].temp)))        Printf ( "STARDATA double                        : stardata->star[1].temp = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].temp, stardata->star[1].temp, (stardata->star[1].temp - stardata->previous_stardata->star[1].temp) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mira),(stardata->star[1].mira)))        Printf ( "STARDATA double                        : stardata->star[1].mira = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mira, stardata->star[1].mira, (stardata->star[1].mira - stardata->previous_stardata->star[1].mira) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].start_HG_mass),(stardata->star[1].start_HG_mass)))        Printf ( "STARDATA double                        : stardata->star[1].start_HG_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].start_HG_mass, stardata->star[1].start_HG_mass, (stardata->star[1].start_HG_mass - stardata->previous_stardata->star[1].start_HG_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].hezamsmetallicity),(stardata->star[1].hezamsmetallicity)))        Printf ( "STARDATA double                        : stardata->star[1].hezamsmetallicity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].hezamsmetallicity, stardata->star[1].hezamsmetallicity, (stardata->star[1].hezamsmetallicity - stardata->previous_stardata->star[1].hezamsmetallicity) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].he_t),(stardata->star[1].he_t)))        Printf ( "STARDATA double                        : stardata->star[1].he_t = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].he_t, stardata->star[1].he_t, (stardata->star[1].he_t - stardata->previous_stardata->star[1].he_t) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].he_f),(stardata->star[1].he_f)))        Printf ( "STARDATA double                        : stardata->star[1].he_f = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].he_f, stardata->star[1].he_f, (stardata->star[1].he_f - stardata->previous_stardata->star[1].he_f) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].f_burn),(stardata->star[1].f_burn)))        Printf ( "STARDATA double                        : stardata->star[1].f_burn = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].f_burn, stardata->star[1].f_burn, (stardata->star[1].f_burn - stardata->previous_stardata->star[1].f_burn) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].f_hbb),(stardata->star[1].f_hbb)))        Printf ( "STARDATA double                        : stardata->star[1].f_hbb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].f_hbb, stardata->star[1].f_hbb, (stardata->star[1].f_hbb - stardata->previous_stardata->star[1].f_hbb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].temp_mult),(stardata->star[1].temp_mult)))        Printf ( "STARDATA double                        : stardata->star[1].temp_mult = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].temp_mult, stardata->star[1].temp_mult, (stardata->star[1].temp_mult - stardata->previous_stardata->star[1].temp_mult) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].temp_rise_fac),(stardata->star[1].temp_rise_fac)))        Printf ( "STARDATA double                        : stardata->star[1].temp_rise_fac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].temp_rise_fac, stardata->star[1].temp_rise_fac, (stardata->star[1].temp_rise_fac - stardata->previous_stardata->star[1].temp_rise_fac) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].fmdupburn),(stardata->star[1].fmdupburn)))        Printf ( "STARDATA double                        : stardata->star[1].fmdupburn = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].fmdupburn, stardata->star[1].fmdupburn, (stardata->star[1].fmdupburn - stardata->previous_stardata->star[1].fmdupburn) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].ftimeduphbb),(stardata->star[1].ftimeduphbb)))        Printf ( "STARDATA double                        : stardata->star[1].ftimeduphbb = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].ftimeduphbb, stardata->star[1].ftimeduphbb, (stardata->star[1].ftimeduphbb - stardata->previous_stardata->star[1].ftimeduphbb) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mixdepth),(stardata->star[1].mixdepth)))        Printf ( "STARDATA double                        : stardata->star[1].mixdepth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mixdepth, stardata->star[1].mixdepth, (stardata->star[1].mixdepth - stardata->previous_stardata->star[1].mixdepth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mixtime),(stardata->star[1].mixtime)))        Printf ( "STARDATA double                        : stardata->star[1].mixtime = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mixtime, stardata->star[1].mixtime, (stardata->star[1].mixtime - stardata->previous_stardata->star[1].mixtime) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dmmix),(stardata->star[1].dmmix)))        Printf ( "STARDATA double                        : stardata->star[1].dmmix = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dmmix, stardata->star[1].dmmix, (stardata->star[1].dmmix - stardata->previous_stardata->star[1].dmmix) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].conv_base),(stardata->star[1].conv_base)))        Printf ( "STARDATA double                        : stardata->star[1].conv_base = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].conv_base, stardata->star[1].conv_base, (stardata->star[1].conv_base - stardata->previous_stardata->star[1].conv_base) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dmacc),(stardata->star[1].dmacc)))        Printf ( "STARDATA double                        : stardata->star[1].dmacc = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dmacc, stardata->star[1].dmacc, (stardata->star[1].dmacc - stardata->previous_stardata->star[1].dmacc) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].dm_companion_SN),(stardata->star[1].dm_companion_SN)))        Printf ( "STARDATA double                        : stardata->star[1].dm_companion_SN = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].dm_companion_SN, stardata->star[1].dm_companion_SN, (stardata->star[1].dm_companion_SN - stardata->previous_stardata->star[1].dm_companion_SN) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].max_mix_depth),(stardata->star[1].max_mix_depth)))        Printf ( "STARDATA double                        : stardata->star[1].max_mix_depth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].max_mix_depth, stardata->star[1].max_mix_depth, (stardata->star[1].max_mix_depth - stardata->previous_stardata->star[1].max_mix_depth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].prev_depth),(stardata->star[1].prev_depth)))        Printf ( "STARDATA double                        : stardata->star[1].prev_depth = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].prev_depth, stardata->star[1].prev_depth, (stardata->star[1].prev_depth - stardata->previous_stardata->star[1].prev_depth) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].he_mcmax),(stardata->star[1].he_mcmax)))        Printf ( "STARDATA double                        : stardata->star[1].he_mcmax = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].he_mcmax, stardata->star[1].he_mcmax, (stardata->star[1].he_mcmax - stardata->previous_stardata->star[1].he_mcmax) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mconv),(stardata->star[1].mconv)))        Printf ( "STARDATA double                        : stardata->star[1].mconv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mconv, stardata->star[1].mconv, (stardata->star[1].mconv - stardata->previous_stardata->star[1].mconv) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].thickest_mconv),(stardata->star[1].thickest_mconv)))        Printf ( "STARDATA double                        : stardata->star[1].thickest_mconv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].thickest_mconv, stardata->star[1].thickest_mconv, (stardata->star[1].thickest_mconv - stardata->previous_stardata->star[1].thickest_mconv) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].Xenv[i0]),(stardata->star[1].Xenv[i0])))         Printf ( "STARDATA double                        : stardata->star[1].Xenv[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].Xenv[i0], stardata->star[1].Xenv[i0], (stardata->star[1].Xenv[i0] - stardata->previous_stardata->star[1].Xenv[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].Xacc[i0]),(stardata->star[1].Xacc[i0])))         Printf ( "STARDATA double                        : stardata->star[1].Xacc[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].Xacc[i0], stardata->star[1].Xacc[i0], (stardata->star[1].Xacc[i0] - stardata->previous_stardata->star[1].Xacc[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].Xinit[i0]),(stardata->star[1].Xinit[i0])))         Printf ( "STARDATA double                        : stardata->star[1].Xinit[% 3d]                                 = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].Xinit[i0], stardata->star[1].Xinit[i0], (stardata->star[1].Xinit[i0] - stardata->previous_stardata->star[1].Xinit[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].Xyield[i0]),(stardata->star[1].Xyield[i0])))         Printf ( "STARDATA double                        : stardata->star[1].Xyield[% 3d]                                = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].Xyield[i0], stardata->star[1].Xyield[i0], (stardata->star[1].Xyield[i0] - stardata->previous_stardata->star[1].Xyield[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].Xhbb[i0]),(stardata->star[1].Xhbb[i0])))         Printf ( "STARDATA double                        : stardata->star[1].Xhbb[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].Xhbb[i0], stardata->star[1].Xhbb[i0], (stardata->star[1].Xhbb[i0] - stardata->previous_stardata->star[1].Xhbb[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].XWR0[i0]),(stardata->star[1].XWR0[i0])))         Printf ( "STARDATA double                        : stardata->star[1].XWR0[% 3d]                                  = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].XWR0[i0], stardata->star[1].XWR0[i0], (stardata->star[1].XWR0[i0] - stardata->previous_stardata->star[1].XWR0[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 26; i0 ++)
-    {
-{
-    int i1;
-    for(i1 = 0; i1 < 489; i1 ++)
-    {
-        Printf ( "STARDATA double                        : stardata->star[1].Xsource[% 3d,% 3d]                           = %g\n", i0, i1,  stardata->star[1].Xsource[i0][i1] ) ;
-    }
-}
-    }
-}
-if(!FEQUAL((stardata->previous_stardata->star[1].MS_mass),(stardata->star[1].MS_mass)))        Printf ( "STARDATA double                        : stardata->star[1].MS_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].MS_mass, stardata->star[1].MS_mass, (stardata->star[1].MS_mass - stardata->previous_stardata->star[1].MS_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->star[1].mc_gb_was),(stardata->star[1].mc_gb_was)))        Printf ( "STARDATA double                        : stardata->star[1].mc_gb_was = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->star[1].mc_gb_was, stardata->star[1].mc_gb_was, (stardata->star[1].mc_gb_was - stardata->previous_stardata->star[1].mc_gb_was) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 24; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->star[1].stellar_colour[i0]),(stardata->star[1].stellar_colour[i0])))         Printf ( "STARDATA double                        : stardata->star[1].stellar_colour[% 3d]                        = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->star[1].stellar_colour[i0], stardata->star[1].stellar_colour[i0], (stardata->star[1].stellar_colour[i0] - stardata->previous_stardata->star[1].stellar_colour[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->star[1].stellar_type)!=(stardata->star[1].stellar_type)))        Printf ( "STARDATA int                           : stardata->star[1].stellar_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].stellar_type, stardata->star[1].stellar_type, (stardata->star[1].stellar_type - stardata->previous_stardata->star[1].stellar_type) ) ;
-if(((stardata->previous_stardata->star[1].detached_stellar_type)!=(stardata->star[1].detached_stellar_type)))        Printf ( "STARDATA int                           : stardata->star[1].detached_stellar_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].detached_stellar_type, stardata->star[1].detached_stellar_type, (stardata->star[1].detached_stellar_type - stardata->previous_stardata->star[1].detached_stellar_type) ) ;
-if(((stardata->previous_stardata->star[1].starnum)!=(stardata->star[1].starnum)))        Printf ( "STARDATA int                           : stardata->star[1].starnum = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].starnum, stardata->star[1].starnum, (stardata->star[1].starnum - stardata->previous_stardata->star[1].starnum) ) ;
-if(((stardata->previous_stardata->star[1].dtlimiter)!=(stardata->star[1].dtlimiter)))        Printf ( "STARDATA int                           : stardata->star[1].dtlimiter = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].dtlimiter, stardata->star[1].dtlimiter, (stardata->star[1].dtlimiter - stardata->previous_stardata->star[1].dtlimiter) ) ;
-if(((stardata->previous_stardata->star[1].SN_type)!=(stardata->star[1].SN_type)))        Printf ( "STARDATA int                           : stardata->star[1].SN_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].SN_type, stardata->star[1].SN_type, (stardata->star[1].SN_type - stardata->previous_stardata->star[1].SN_type) ) ;
-if(((stardata->previous_stardata->star[1].was_SN)!=(stardata->star[1].was_SN)))        Printf ( "STARDATA int                           : stardata->star[1].was_SN = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].was_SN, stardata->star[1].was_SN, (stardata->star[1].was_SN - stardata->previous_stardata->star[1].was_SN) ) ;
-if(((stardata->previous_stardata->star[1].prev_kick_pulse_number)!=(stardata->star[1].prev_kick_pulse_number)))        Printf ( "STARDATA int                           : stardata->star[1].prev_kick_pulse_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].prev_kick_pulse_number, stardata->star[1].prev_kick_pulse_number, (stardata->star[1].prev_kick_pulse_number - stardata->previous_stardata->star[1].prev_kick_pulse_number) ) ;
-if(((stardata->previous_stardata->star[1].sn_last_time)!=(stardata->star[1].sn_last_time)))        Printf ( "STARDATA int                           : stardata->star[1].sn_last_time = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].sn_last_time, stardata->star[1].sn_last_time, (stardata->star[1].sn_last_time - stardata->previous_stardata->star[1].sn_last_time) ) ;
-if(((stardata->previous_stardata->star[1].compact_core_type)!=(stardata->star[1].compact_core_type)))        Printf ( "STARDATA int                           : stardata->star[1].compact_core_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->star[1].compact_core_type, stardata->star[1].compact_core_type, (stardata->star[1].compact_core_type - stardata->previous_stardata->star[1].compact_core_type) ) ;
-if(((stardata->previous_stardata->star[1].reject)!=(stardata->star[1].reject)))        Printf ( "STARDATA unsignedint                   : stardata->star[1].reject = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->star[1].reject, stardata->star[1].reject, (stardata->star[1].reject - stardata->previous_stardata->star[1].reject) ) ;
-if(((stardata->previous_stardata->model.RLOF_start)!=(stardata->model.RLOF_start)))        Printf ( "STARDATA Boolean                         : stardata->model.RLOF_start = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.RLOF_start, stardata->model.RLOF_start, (stardata->model.RLOF_start - stardata->previous_stardata->model.RLOF_start) ) ;
-if(((stardata->previous_stardata->model.RLOF_end)!=(stardata->model.RLOF_end)))        Printf ( "STARDATA Boolean                         : stardata->model.RLOF_end = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.RLOF_end, stardata->model.RLOF_end, (stardata->model.RLOF_end - stardata->previous_stardata->model.RLOF_end) ) ;
-if(((stardata->previous_stardata->model.supernova)!=(stardata->model.supernova)))        Printf ( "STARDATA Boolean                         : stardata->model.supernova = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.supernova, stardata->model.supernova, (stardata->model.supernova - stardata->previous_stardata->model.supernova) ) ;
-if(((stardata->previous_stardata->model.merged)!=(stardata->model.merged)))        Printf ( "STARDATA Boolean                         : stardata->model.merged = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.merged, stardata->model.merged, (stardata->model.merged - stardata->previous_stardata->model.merged) ) ;
-if(((stardata->previous_stardata->model.inttry)!=(stardata->model.inttry)))        Printf ( "STARDATA Boolean                         : stardata->model.inttry = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.inttry, stardata->model.inttry, (stardata->model.inttry - stardata->previous_stardata->model.inttry) ) ;
-if(((stardata->previous_stardata->model.sgl)!=(stardata->model.sgl)))        Printf ( "STARDATA Boolean                         : stardata->model.sgl = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.sgl, stardata->model.sgl, (stardata->model.sgl - stardata->previous_stardata->model.sgl) ) ;
-if(((stardata->previous_stardata->model.prec)!=(stardata->model.prec)))        Printf ( "STARDATA Boolean                         : stardata->model.prec = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.prec, stardata->model.prec, (stardata->model.prec - stardata->previous_stardata->model.prec) ) ;
-if(((stardata->previous_stardata->model.com)!=(stardata->model.com)))        Printf ( "STARDATA Boolean                         : stardata->model.com = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.com, stardata->model.com, (stardata->model.com - stardata->previous_stardata->model.com) ) ;
-if(((stardata->previous_stardata->model.supedd)!=(stardata->model.supedd)))        Printf ( "STARDATA Boolean                         : stardata->model.supedd = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.supedd, stardata->model.supedd, (stardata->model.supedd - stardata->previous_stardata->model.supedd) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 2; i0 ++)
-    {
-if(((stardata->previous_stardata->model.restart_run[i0])!=(stardata->model.restart_run[i0])))        Printf ( "STARDATA Boolean                         : stardata->model.restart_run[% 3d]                             = [prev %d, now %d, diff %d]\n", i0, stardata->previous_stardata->model.restart_run[i0], stardata->model.restart_run[i0], (stardata->model.restart_run[i0] - stardata->previous_stardata->model.restart_run[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->model.rerun)!=(stardata->model.rerun)))        Printf ( "STARDATA Boolean                         : stardata->model.rerun = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.rerun, stardata->model.rerun, (stardata->model.rerun - stardata->previous_stardata->model.rerun) ) ;
-if(((stardata->previous_stardata->model.exit_after_end)!=(stardata->model.exit_after_end)))        Printf ( "STARDATA Boolean                         : stardata->model.exit_after_end = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.exit_after_end, stardata->model.exit_after_end, (stardata->model.exit_after_end - stardata->previous_stardata->model.exit_after_end) ) ;
-if(((stardata->previous_stardata->model.in_RLOF)!=(stardata->model.in_RLOF)))        Printf ( "STARDATA Boolean                         : stardata->model.in_RLOF = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.in_RLOF, stardata->model.in_RLOF, (stardata->model.in_RLOF - stardata->previous_stardata->model.in_RLOF) ) ;
-if(((stardata->previous_stardata->model.intermediate_step)!=(stardata->model.intermediate_step)))        Printf ( "STARDATA Boolean                         : stardata->model.intermediate_step = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.intermediate_step, stardata->model.intermediate_step, (stardata->model.intermediate_step - stardata->previous_stardata->model.intermediate_step) ) ;
-if(((stardata->previous_stardata->model.deny_new_events)!=(stardata->model.deny_new_events)))        Printf ( "STARDATA Boolean                         : stardata->model.deny_new_events = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.deny_new_events, stardata->model.deny_new_events, (stardata->model.deny_new_events - stardata->previous_stardata->model.deny_new_events) ) ;
-if(((stardata->previous_stardata->model.fixed_timestep_triggered)!=(stardata->model.fixed_timestep_triggered)))        Printf ( "STARDATA Boolean                         : stardata->model.fixed_timestep_triggered = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.fixed_timestep_triggered, stardata->model.fixed_timestep_triggered, (stardata->model.fixed_timestep_triggered - stardata->previous_stardata->model.fixed_timestep_triggered) ) ;
-if(((stardata->previous_stardata->model.bflag)!=(stardata->model.bflag)))        Printf ( "STARDATA Boolean                         : stardata->model.bflag = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.bflag, stardata->model.bflag, (stardata->model.bflag - stardata->previous_stardata->model.bflag) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 16; i0 ++)
-    {
-if(((stardata->previous_stardata->model.logflags[i0])!=(stardata->model.logflags[i0])))        Printf ( "STARDATA Boolean                         : stardata->model.logflags[% 3d]                                = [prev %d, now %d, diff %d]\n", i0, stardata->previous_stardata->model.logflags[i0], stardata->model.logflags[i0], (stardata->model.logflags[i0] - stardata->previous_stardata->model.logflags[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->model.hachisu)!=(stardata->model.hachisu)))        Printf ( "STARDATA Boolean                         : stardata->model.hachisu = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.hachisu, stardata->model.hachisu, (stardata->model.hachisu - stardata->previous_stardata->model.hachisu) ) ;
-if(((stardata->previous_stardata->model.novalogged)!=(stardata->model.novalogged)))        Printf ( "STARDATA Boolean                         : stardata->model.novalogged = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.novalogged, stardata->model.novalogged, (stardata->model.novalogged - stardata->previous_stardata->model.novalogged) ) ;
-if(((stardata->previous_stardata->model.doingsplit)!=(stardata->model.doingsplit)))        Printf ( "STARDATA Boolean                         : stardata->model.doingsplit = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.doingsplit, stardata->model.doingsplit, (stardata->model.doingsplit - stardata->previous_stardata->model.doingsplit) ) ;
-if(((stardata->previous_stardata->model.split_last_time)!=(stardata->model.split_last_time)))        Printf ( "STARDATA Boolean                         : stardata->model.split_last_time = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.split_last_time, stardata->model.split_last_time, (stardata->model.split_last_time - stardata->previous_stardata->model.split_last_time) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 16; i0 ++)
-    {
-
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 489; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->model.oldyields[i0]),(stardata->model.oldyields[i0])))         Printf ( "STARDATA double                        : stardata->model.oldyields[% 3d]                               = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->model.oldyields[i0], stardata->model.oldyields[i0], (stardata->model.oldyields[i0] - stardata->previous_stardata->model.oldyields[i0]) ) ;
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 2; i0 ++)
-    {
-{
-    int i1;
-    for(i1 = 0; i1 < 26; i1 ++)
-    {
-{
-    int i2;
-    for(i2 = 0; i2 < 489; i2 ++)
-    {
-        Printf ( "STARDATA double                        : stardata->model.oldyieldsources[% 3d,% 3d,% 3d]                 = %g\n", i0, i1, i2,  stardata->model.oldyieldsources[i0][i1][i2] ) ;
-    }
-}
-    }
-}
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 2; i0 ++)
-    {
-{
-    int i1;
-    for(i1 = 0; i1 < 386; i1 ++)
-    {
-        Printf ( "STARDATA double                        : stardata->model.ensemble_store[% 3d,% 3d]                      = %g\n", i0, i1,  stardata->model.ensemble_store[i0][i1] ) ;
-    }
-}
-    }
-}
-{
-    int i0;
-    for(i0 = 0; i0 < 19; i0 ++)
-    {
-if(!FEQUAL((stardata->previous_stardata->model.derivative[i0]),(stardata->model.derivative[i0])))         Printf ( "STARDATA double                        : stardata->model.derivative[% 3d]                              = [prev %g, now %g, diff %g]\n", i0, stardata->previous_stardata->model.derivative[i0], stardata->model.derivative[i0], (stardata->model.derivative[i0] - stardata->previous_stardata->model.derivative[i0]) ) ;
-    }
-}
-if(!FEQUAL((stardata->previous_stardata->model.probability),(stardata->model.probability)))        Printf ( "STARDATA double                        : stardata->model.probability = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.probability, stardata->model.probability, (stardata->model.probability - stardata->previous_stardata->model.probability) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.time),(stardata->model.time)))        Printf ( "STARDATA double                        : stardata->model.time = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.time, stardata->model.time, (stardata->model.time - stardata->previous_stardata->model.time) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.max_evolution_time),(stardata->model.max_evolution_time)))        Printf ( "STARDATA double                        : stardata->model.max_evolution_time = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.max_evolution_time, stardata->model.max_evolution_time, (stardata->model.max_evolution_time - stardata->previous_stardata->model.max_evolution_time) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.dt),(stardata->model.dt)))        Printf ( "STARDATA double                        : stardata->model.dt = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.dt, stardata->model.dt, (stardata->model.dt - stardata->previous_stardata->model.dt) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.dtm),(stardata->model.dtm)))        Printf ( "STARDATA double                        : stardata->model.dtm = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.dtm, stardata->model.dtm, (stardata->model.dtm - stardata->previous_stardata->model.dtm) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.true_dtm),(stardata->model.true_dtm)))        Printf ( "STARDATA double                        : stardata->model.true_dtm = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.true_dtm, stardata->model.true_dtm, (stardata->model.true_dtm - stardata->previous_stardata->model.true_dtm) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.time_remaining),(stardata->model.time_remaining)))        Printf ( "STARDATA double                        : stardata->model.time_remaining = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.time_remaining, stardata->model.time_remaining, (stardata->model.time_remaining - stardata->previous_stardata->model.time_remaining) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.dtmwas),(stardata->model.dtmwas)))        Printf ( "STARDATA double                        : stardata->model.dtmwas = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.dtmwas, stardata->model.dtmwas, (stardata->model.dtmwas - stardata->previous_stardata->model.dtmwas) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.dt_zoomfac),(stardata->model.dt_zoomfac)))        Printf ( "STARDATA double                        : stardata->model.dt_zoomfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.dt_zoomfac, stardata->model.dt_zoomfac, (stardata->model.dt_zoomfac - stardata->previous_stardata->model.dt_zoomfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.RLOF_recommended_timestep),(stardata->model.RLOF_recommended_timestep)))        Printf ( "STARDATA double                        : stardata->model.RLOF_recommended_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.RLOF_recommended_timestep, stardata->model.RLOF_recommended_timestep, (stardata->model.RLOF_recommended_timestep - stardata->previous_stardata->model.RLOF_recommended_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.prev_log_t),(stardata->model.prev_log_t)))        Printf ( "STARDATA double                        : stardata->model.prev_log_t = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.prev_log_t, stardata->model.prev_log_t, (stardata->model.prev_log_t - stardata->previous_stardata->model.prev_log_t) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.lastensembleouttime),(stardata->model.lastensembleouttime)))        Printf ( "STARDATA double                        : stardata->model.lastensembleouttime = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.lastensembleouttime, stardata->model.lastensembleouttime, (stardata->model.lastensembleouttime - stardata->previous_stardata->model.lastensembleouttime) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.gce_prevt),(stardata->model.gce_prevt)))        Printf ( "STARDATA double                        : stardata->model.gce_prevt = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.gce_prevt, stardata->model.gce_prevt, (stardata->model.gce_prevt - stardata->previous_stardata->model.gce_prevt) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.tphys0),(stardata->model.tphys0)))        Printf ( "STARDATA double                        : stardata->model.tphys0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.tphys0, stardata->model.tphys0, (stardata->model.tphys0 - stardata->previous_stardata->model.tphys0) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.tphys00),(stardata->model.tphys00)))        Printf ( "STARDATA double                        : stardata->model.tphys00 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.tphys00, stardata->model.tphys00, (stardata->model.tphys00 - stardata->previous_stardata->model.tphys00) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.dtm0),(stardata->model.dtm0)))        Printf ( "STARDATA double                        : stardata->model.dtm0 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.dtm0, stardata->model.dtm0, (stardata->model.dtm0 - stardata->previous_stardata->model.dtm0) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.next_yield_out),(stardata->model.next_yield_out)))        Printf ( "STARDATA double                        : stardata->model.next_yield_out = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.next_yield_out, stardata->model.next_yield_out, (stardata->model.next_yield_out - stardata->previous_stardata->model.next_yield_out) ) ;
-if(!FEQUAL((stardata->previous_stardata->model.prev_yield_out),(stardata->model.prev_yield_out)))        Printf ( "STARDATA double                        : stardata->model.prev_yield_out = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->model.prev_yield_out, stardata->model.prev_yield_out, (stardata->model.prev_yield_out - stardata->previous_stardata->model.prev_yield_out) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 16; i0 ++)
-    {
-if(((stardata->previous_stardata->model.logstack[i0])!=(stardata->model.logstack[i0])))        Printf ( "STARDATA int                           : stardata->model.logstack[% 3d]                                = [prev %d, now %d, diff %d]\n", i0, stardata->previous_stardata->model.logstack[i0], stardata->model.logstack[i0], (stardata->model.logstack[i0] - stardata->previous_stardata->model.logstack[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->model.repeat_number)!=(stardata->model.repeat_number)))        Printf ( "STARDATA int                           : stardata->model.repeat_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.repeat_number, stardata->model.repeat_number, (stardata->model.repeat_number - stardata->previous_stardata->model.repeat_number) ) ;
-if(((stardata->previous_stardata->model.intpol)!=(stardata->model.intpol)))        Printf ( "STARDATA int                           : stardata->model.intpol = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.intpol, stardata->model.intpol, (stardata->model.intpol - stardata->previous_stardata->model.intpol) ) ;
-if(((stardata->previous_stardata->model.iter)!=(stardata->model.iter)))        Printf ( "STARDATA int                           : stardata->model.iter = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.iter, stardata->model.iter, (stardata->model.iter - stardata->previous_stardata->model.iter) ) ;
-if(((stardata->previous_stardata->model.comenv_type)!=(stardata->model.comenv_type)))        Printf ( "STARDATA int                           : stardata->model.comenv_type = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.comenv_type, stardata->model.comenv_type, (stardata->model.comenv_type - stardata->previous_stardata->model.comenv_type) ) ;
-if(((stardata->previous_stardata->model.current_solver)!=(stardata->model.current_solver)))        Printf ( "STARDATA int                           : stardata->model.current_solver = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.current_solver, stardata->model.current_solver, (stardata->model.current_solver - stardata->previous_stardata->model.current_solver) ) ;
-if(((stardata->previous_stardata->model.solver_step)!=(stardata->model.solver_step)))        Printf ( "STARDATA int                           : stardata->model.solver_step = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.solver_step, stardata->model.solver_step, (stardata->model.solver_step - stardata->previous_stardata->model.solver_step) ) ;
-if(((stardata->previous_stardata->model.model_number)!=(stardata->model.model_number)))        Printf ( "STARDATA int                           : stardata->model.model_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.model_number, stardata->model.model_number, (stardata->model.model_number - stardata->previous_stardata->model.model_number) ) ;
-if(((stardata->previous_stardata->model.comenv_count)!=(stardata->model.comenv_count)))        Printf ( "STARDATA int                           : stardata->model.comenv_count = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.comenv_count, stardata->model.comenv_count, (stardata->model.comenv_count - stardata->previous_stardata->model.comenv_count) ) ;
-if(((stardata->previous_stardata->model.id_number)!=(stardata->model.id_number)))        Printf ( "STARDATA int                           : stardata->model.id_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.id_number, stardata->model.id_number, (stardata->model.id_number - stardata->previous_stardata->model.id_number) ) ;
-if(((stardata->previous_stardata->model.ndonor)!=(stardata->model.ndonor)))        Printf ( "STARDATA int                           : stardata->model.ndonor = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.ndonor, stardata->model.ndonor, (stardata->model.ndonor - stardata->previous_stardata->model.ndonor) ) ;
-if(((stardata->previous_stardata->model.naccretor)!=(stardata->model.naccretor)))        Printf ( "STARDATA int                           : stardata->model.naccretor = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->model.naccretor, stardata->model.naccretor, (stardata->model.naccretor - stardata->previous_stardata->model.naccretor) ) ;
-if(((stardata->previous_stardata->model.reject)!=(stardata->model.reject)))        Printf ( "STARDATA unsignedint                   : stardata->model.reject = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->model.reject, stardata->model.reject, (stardata->model.reject - stardata->previous_stardata->model.reject) ) ;
-if(((stardata->previous_stardata->model.coalesce)!=(stardata->model.coalesce)))        Printf ( "STARDATA unsignedint                   : stardata->model.coalesce = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->model.coalesce, stardata->model.coalesce, (stardata->model.coalesce - stardata->previous_stardata->model.coalesce) ) ;
-if(((stardata->previous_stardata->preferences->disable_events)!=(stardata->preferences->disable_events)))        Printf ( "STARDATA Boolean                         : stardata->preferences->disable_events = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->disable_events, stardata->preferences->disable_events, (stardata->preferences->disable_events - stardata->previous_stardata->preferences->disable_events) ) ;
-if(((stardata->previous_stardata->preferences->force_corotation_on_RLOF)!=(stardata->preferences->force_corotation_on_RLOF)))        Printf ( "STARDATA Boolean                         : stardata->preferences->force_corotation_on_RLOF = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->force_corotation_on_RLOF, stardata->preferences->force_corotation_on_RLOF, (stardata->preferences->force_corotation_on_RLOF - stardata->previous_stardata->preferences->force_corotation_on_RLOF) ) ;
-if(((stardata->previous_stardata->preferences->speedtests)!=(stardata->preferences->speedtests)))        Printf ( "STARDATA Boolean                         : stardata->preferences->speedtests = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->speedtests, stardata->preferences->speedtests, (stardata->preferences->speedtests - stardata->previous_stardata->preferences->speedtests) ) ;
-if(((stardata->previous_stardata->preferences->monte_carlo_sn_kicks)!=(stardata->preferences->monte_carlo_sn_kicks)))        Printf ( "STARDATA Boolean                         : stardata->preferences->monte_carlo_sn_kicks = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->monte_carlo_sn_kicks, stardata->preferences->monte_carlo_sn_kicks, (stardata->preferences->monte_carlo_sn_kicks - stardata->previous_stardata->preferences->monte_carlo_sn_kicks) ) ;
-if(((stardata->previous_stardata->preferences->third_dup)!=(stardata->preferences->third_dup)))        Printf ( "STARDATA Boolean                         : stardata->preferences->third_dup = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->third_dup, stardata->preferences->third_dup, (stardata->preferences->third_dup - stardata->previous_stardata->preferences->third_dup) ) ;
-if(((stardata->previous_stardata->preferences->rlperi)!=(stardata->preferences->rlperi)))        Printf ( "STARDATA Boolean                         : stardata->preferences->rlperi = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->rlperi, stardata->preferences->rlperi, (stardata->preferences->rlperi - stardata->previous_stardata->preferences->rlperi) ) ;
-if(((stardata->previous_stardata->preferences->hachisu_disk_wind)!=(stardata->preferences->hachisu_disk_wind)))        Printf ( "STARDATA Boolean                         : stardata->preferences->hachisu_disk_wind = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->hachisu_disk_wind, stardata->preferences->hachisu_disk_wind, (stardata->preferences->hachisu_disk_wind - stardata->previous_stardata->preferences->hachisu_disk_wind) ) ;
-if(((stardata->previous_stardata->preferences->show_minimum_separation_for_instant_RLOF)!=(stardata->preferences->show_minimum_separation_for_instant_RLOF)))        Printf ( "STARDATA Boolean                         : stardata->preferences->show_minimum_separation_for_instant_RLOF = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->show_minimum_separation_for_instant_RLOF, stardata->preferences->show_minimum_separation_for_instant_RLOF, (stardata->preferences->show_minimum_separation_for_instant_RLOF - stardata->previous_stardata->preferences->show_minimum_separation_for_instant_RLOF) ) ;
-if(((stardata->previous_stardata->preferences->show_minimum_orbital_period_for_instant_RLOF)!=(stardata->preferences->show_minimum_orbital_period_for_instant_RLOF)))        Printf ( "STARDATA Boolean                         : stardata->preferences->show_minimum_orbital_period_for_instant_RLOF = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->show_minimum_orbital_period_for_instant_RLOF, stardata->preferences->show_minimum_orbital_period_for_instant_RLOF, (stardata->preferences->show_minimum_orbital_period_for_instant_RLOF - stardata->previous_stardata->preferences->show_minimum_orbital_period_for_instant_RLOF) ) ;
-if(((stardata->previous_stardata->preferences->initial_abunds_only)!=(stardata->preferences->initial_abunds_only)))        Printf ( "STARDATA Boolean                         : stardata->preferences->initial_abunds_only = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->initial_abunds_only, stardata->preferences->initial_abunds_only, (stardata->preferences->initial_abunds_only - stardata->previous_stardata->preferences->initial_abunds_only) ) ;
-if(((stardata->previous_stardata->preferences->NeNaMgAl)!=(stardata->preferences->NeNaMgAl)))        Printf ( "STARDATA Boolean                         : stardata->preferences->NeNaMgAl = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->NeNaMgAl, stardata->preferences->NeNaMgAl, (stardata->preferences->NeNaMgAl - stardata->previous_stardata->preferences->NeNaMgAl) ) ;
-if(((stardata->previous_stardata->preferences->yields_logtimes)!=(stardata->preferences->yields_logtimes)))        Printf ( "STARDATA Boolean                         : stardata->preferences->yields_logtimes = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->yields_logtimes, stardata->preferences->yields_logtimes, (stardata->preferences->yields_logtimes - stardata->previous_stardata->preferences->yields_logtimes) ) ;
-if(((stardata->previous_stardata->preferences->no_thermohaline_mixing)!=(stardata->preferences->no_thermohaline_mixing)))        Printf ( "STARDATA Boolean                         : stardata->preferences->no_thermohaline_mixing = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->no_thermohaline_mixing, stardata->preferences->no_thermohaline_mixing, (stardata->preferences->no_thermohaline_mixing - stardata->previous_stardata->preferences->no_thermohaline_mixing) ) ;
-if(((stardata->previous_stardata->preferences->pre_main_sequence)!=(stardata->preferences->pre_main_sequence)))        Printf ( "STARDATA Boolean                         : stardata->preferences->pre_main_sequence = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->pre_main_sequence, stardata->preferences->pre_main_sequence, (stardata->preferences->pre_main_sequence - stardata->previous_stardata->preferences->pre_main_sequence) ) ;
-if(((stardata->previous_stardata->preferences->pre_main_sequence_fit_lobes)!=(stardata->preferences->pre_main_sequence_fit_lobes)))        Printf ( "STARDATA Boolean                         : stardata->preferences->pre_main_sequence_fit_lobes = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->pre_main_sequence_fit_lobes, stardata->preferences->pre_main_sequence_fit_lobes, (stardata->preferences->pre_main_sequence_fit_lobes - stardata->previous_stardata->preferences->pre_main_sequence_fit_lobes) ) ;
-if(((stardata->previous_stardata->preferences->allow_debug_nan)!=(stardata->preferences->allow_debug_nan)))        Printf ( "STARDATA Boolean                         : stardata->preferences->allow_debug_nan = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->allow_debug_nan, stardata->preferences->allow_debug_nan, (stardata->preferences->allow_debug_nan - stardata->previous_stardata->preferences->allow_debug_nan) ) ;
-if(((stardata->previous_stardata->preferences->evolution_splitting)!=(stardata->preferences->evolution_splitting)))        Printf ( "STARDATA Boolean                         : stardata->preferences->evolution_splitting = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->evolution_splitting, stardata->preferences->evolution_splitting, (stardata->preferences->evolution_splitting - stardata->previous_stardata->preferences->evolution_splitting) ) ;
-if(((stardata->previous_stardata->preferences->nelemans_recalc_eccentricity)!=(stardata->preferences->nelemans_recalc_eccentricity)))        Printf ( "STARDATA Boolean                         : stardata->preferences->nelemans_recalc_eccentricity = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->nelemans_recalc_eccentricity, stardata->preferences->nelemans_recalc_eccentricity, (stardata->preferences->nelemans_recalc_eccentricity - stardata->previous_stardata->preferences->nelemans_recalc_eccentricity) ) ;
-
-
-
-
-
-if(!FEQUAL((stardata->previous_stardata->preferences->hbbtfac),(stardata->preferences->hbbtfac)))        Printf ( "STARDATA double                        : stardata->preferences->hbbtfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->hbbtfac, stardata->preferences->hbbtfac, (stardata->preferences->hbbtfac - stardata->previous_stardata->preferences->hbbtfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->c13_eff),(stardata->preferences->c13_eff)))        Printf ( "STARDATA double                        : stardata->preferences->c13_eff = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->c13_eff, stardata->preferences->c13_eff, (stardata->preferences->c13_eff - stardata->previous_stardata->preferences->c13_eff) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mc13_pocket_multiplier),(stardata->preferences->mc13_pocket_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->mc13_pocket_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mc13_pocket_multiplier, stardata->preferences->mc13_pocket_multiplier, (stardata->preferences->mc13_pocket_multiplier - stardata->previous_stardata->preferences->mc13_pocket_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->yields_dt),(stardata->preferences->yields_dt)))        Printf ( "STARDATA double                        : stardata->preferences->yields_dt = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->yields_dt, stardata->preferences->yields_dt, (stardata->preferences->yields_dt - stardata->previous_stardata->preferences->yields_dt) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->yields_logdt),(stardata->preferences->yields_logdt)))        Printf ( "STARDATA double                        : stardata->preferences->yields_logdt = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->yields_logdt, stardata->preferences->yields_logdt, (stardata->preferences->yields_logdt - stardata->previous_stardata->preferences->yields_logdt) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->yields_startlogtime),(stardata->preferences->yields_startlogtime)))        Printf ( "STARDATA double                        : stardata->preferences->yields_startlogtime = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->yields_startlogtime, stardata->preferences->yields_startlogtime, (stardata->preferences->yields_startlogtime - stardata->previous_stardata->preferences->yields_startlogtime) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lithium_hbb_multiplier),(stardata->preferences->lithium_hbb_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->lithium_hbb_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lithium_hbb_multiplier, stardata->preferences->lithium_hbb_multiplier, (stardata->preferences->lithium_hbb_multiplier - stardata->previous_stardata->preferences->lithium_hbb_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lithium_GB_post_1DUP),(stardata->preferences->lithium_GB_post_1DUP)))        Printf ( "STARDATA double                        : stardata->preferences->lithium_GB_post_1DUP = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lithium_GB_post_1DUP, stardata->preferences->lithium_GB_post_1DUP, (stardata->preferences->lithium_GB_post_1DUP - stardata->previous_stardata->preferences->lithium_GB_post_1DUP) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lithium_GB_post_Heflash),(stardata->preferences->lithium_GB_post_Heflash)))        Printf ( "STARDATA double                        : stardata->preferences->lithium_GB_post_Heflash = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lithium_GB_post_Heflash, stardata->preferences->lithium_GB_post_Heflash, (stardata->preferences->lithium_GB_post_Heflash - stardata->previous_stardata->preferences->lithium_GB_post_Heflash) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->minimum_timestep),(stardata->preferences->minimum_timestep)))        Printf ( "STARDATA double                        : stardata->preferences->minimum_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->minimum_timestep, stardata->preferences->minimum_timestep, (stardata->preferences->minimum_timestep - stardata->previous_stardata->preferences->minimum_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->maximum_timestep),(stardata->preferences->maximum_timestep)))        Printf ( "STARDATA double                        : stardata->preferences->maximum_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->maximum_timestep, stardata->preferences->maximum_timestep, (stardata->preferences->maximum_timestep - stardata->previous_stardata->preferences->maximum_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->maximum_nuclear_burning_timestep),(stardata->preferences->maximum_nuclear_burning_timestep)))        Printf ( "STARDATA double                        : stardata->preferences->maximum_nuclear_burning_timestep = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->maximum_nuclear_burning_timestep, stardata->preferences->maximum_nuclear_burning_timestep, (stardata->preferences->maximum_nuclear_burning_timestep - stardata->previous_stardata->preferences->maximum_nuclear_burning_timestep) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->maximum_timestep_factor),(stardata->preferences->maximum_timestep_factor)))        Printf ( "STARDATA double                        : stardata->preferences->maximum_timestep_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->maximum_timestep_factor, stardata->preferences->maximum_timestep_factor, (stardata->preferences->maximum_timestep_factor - stardata->previous_stardata->preferences->maximum_timestep_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->zoomfac_multiplier_decrease),(stardata->preferences->zoomfac_multiplier_decrease)))        Printf ( "STARDATA double                        : stardata->preferences->zoomfac_multiplier_decrease = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->zoomfac_multiplier_decrease, stardata->preferences->zoomfac_multiplier_decrease, (stardata->preferences->zoomfac_multiplier_decrease - stardata->previous_stardata->preferences->zoomfac_multiplier_decrease) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->zoomfac_multiplier_increase),(stardata->preferences->zoomfac_multiplier_increase)))        Printf ( "STARDATA double                        : stardata->preferences->zoomfac_multiplier_increase = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->zoomfac_multiplier_increase, stardata->preferences->zoomfac_multiplier_increase, (stardata->preferences->zoomfac_multiplier_increase - stardata->previous_stardata->preferences->zoomfac_multiplier_increase) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->timestep_solver_factor),(stardata->preferences->timestep_solver_factor)))        Printf ( "STARDATA double                        : stardata->preferences->timestep_solver_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->timestep_solver_factor, stardata->preferences->timestep_solver_factor, (stardata->preferences->timestep_solver_factor - stardata->previous_stardata->preferences->timestep_solver_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->tpagb_superwind_mira_switchon),(stardata->preferences->tpagb_superwind_mira_switchon)))        Printf ( "STARDATA double                        : stardata->preferences->tpagb_superwind_mira_switchon = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->tpagb_superwind_mira_switchon, stardata->preferences->tpagb_superwind_mira_switchon, (stardata->preferences->tpagb_superwind_mira_switchon - stardata->previous_stardata->preferences->tpagb_superwind_mira_switchon) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->tpagb_reimers_eta),(stardata->preferences->tpagb_reimers_eta)))        Printf ( "STARDATA double                        : stardata->preferences->tpagb_reimers_eta = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->tpagb_reimers_eta, stardata->preferences->tpagb_reimers_eta, (stardata->preferences->tpagb_reimers_eta - stardata->previous_stardata->preferences->tpagb_reimers_eta) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->vwind_multiplier),(stardata->preferences->vwind_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->vwind_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->vwind_multiplier, stardata->preferences->vwind_multiplier, (stardata->preferences->vwind_multiplier - stardata->previous_stardata->preferences->vwind_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mass_accretion_rate1),(stardata->preferences->mass_accretion_rate1)))        Printf ( "STARDATA double                        : stardata->preferences->mass_accretion_rate1 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mass_accretion_rate1, stardata->preferences->mass_accretion_rate1, (stardata->preferences->mass_accretion_rate1 - stardata->previous_stardata->preferences->mass_accretion_rate1) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mass_accretion_rate2),(stardata->preferences->mass_accretion_rate2)))        Printf ( "STARDATA double                        : stardata->preferences->mass_accretion_rate2 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mass_accretion_rate2, stardata->preferences->mass_accretion_rate2, (stardata->preferences->mass_accretion_rate2 - stardata->previous_stardata->preferences->mass_accretion_rate2) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->angular_momentum_accretion_rate1),(stardata->preferences->angular_momentum_accretion_rate1)))        Printf ( "STARDATA double                        : stardata->preferences->angular_momentum_accretion_rate1 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->angular_momentum_accretion_rate1, stardata->preferences->angular_momentum_accretion_rate1, (stardata->preferences->angular_momentum_accretion_rate1 - stardata->previous_stardata->preferences->angular_momentum_accretion_rate1) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->angular_momentum_accretion_rate2),(stardata->preferences->angular_momentum_accretion_rate2)))        Printf ( "STARDATA double                        : stardata->preferences->angular_momentum_accretion_rate2 = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->angular_momentum_accretion_rate2, stardata->preferences->angular_momentum_accretion_rate2, (stardata->preferences->angular_momentum_accretion_rate2 - stardata->previous_stardata->preferences->angular_momentum_accretion_rate2) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->angular_momentum_accretion_rate_orbit),(stardata->preferences->angular_momentum_accretion_rate_orbit)))        Printf ( "STARDATA double                        : stardata->preferences->angular_momentum_accretion_rate_orbit = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->angular_momentum_accretion_rate_orbit, stardata->preferences->angular_momentum_accretion_rate_orbit, (stardata->preferences->angular_momentum_accretion_rate_orbit - stardata->previous_stardata->preferences->angular_momentum_accretion_rate_orbit) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->accretion_start_time),(stardata->preferences->accretion_start_time)))        Printf ( "STARDATA double                        : stardata->preferences->accretion_start_time = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->accretion_start_time, stardata->preferences->accretion_start_time, (stardata->preferences->accretion_start_time - stardata->previous_stardata->preferences->accretion_start_time) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->accretion_end_time),(stardata->preferences->accretion_end_time)))        Printf ( "STARDATA double                        : stardata->preferences->accretion_end_time = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->accretion_end_time, stardata->preferences->accretion_end_time, (stardata->preferences->accretion_end_time - stardata->previous_stardata->preferences->accretion_end_time) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->minimum_donor_menv_for_comenv),(stardata->preferences->minimum_donor_menv_for_comenv)))        Printf ( "STARDATA double                        : stardata->preferences->minimum_donor_menv_for_comenv = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->minimum_donor_menv_for_comenv, stardata->preferences->minimum_donor_menv_for_comenv, (stardata->preferences->minimum_donor_menv_for_comenv - stardata->previous_stardata->preferences->minimum_donor_menv_for_comenv) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->magnetic_braking_factor),(stardata->preferences->magnetic_braking_factor)))        Printf ( "STARDATA double                        : stardata->preferences->magnetic_braking_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->magnetic_braking_factor, stardata->preferences->magnetic_braking_factor, (stardata->preferences->magnetic_braking_factor - stardata->previous_stardata->preferences->magnetic_braking_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->magnetic_braking_gamma),(stardata->preferences->magnetic_braking_gamma)))        Printf ( "STARDATA double                        : stardata->preferences->magnetic_braking_gamma = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->magnetic_braking_gamma, stardata->preferences->magnetic_braking_gamma, (stardata->preferences->magnetic_braking_gamma - stardata->previous_stardata->preferences->magnetic_braking_gamma) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->wr_wind_fac),(stardata->preferences->wr_wind_fac)))        Printf ( "STARDATA double                        : stardata->preferences->wr_wind_fac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->wr_wind_fac, stardata->preferences->wr_wind_fac, (stardata->preferences->wr_wind_fac - stardata->previous_stardata->preferences->wr_wind_fac) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->alpha_ce),(stardata->preferences->alpha_ce)))        Printf ( "STARDATA double                        : stardata->preferences->alpha_ce = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->alpha_ce, stardata->preferences->alpha_ce, (stardata->preferences->alpha_ce - stardata->previous_stardata->preferences->alpha_ce) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lambda_ce),(stardata->preferences->lambda_ce)))        Printf ( "STARDATA double                        : stardata->preferences->lambda_ce = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lambda_ce, stardata->preferences->lambda_ce, (stardata->preferences->lambda_ce - stardata->previous_stardata->preferences->lambda_ce) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lambda_ionisation),(stardata->preferences->lambda_ionisation)))        Printf ( "STARDATA double                        : stardata->preferences->lambda_ionisation = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lambda_ionisation, stardata->preferences->lambda_ionisation, (stardata->preferences->lambda_ionisation - stardata->previous_stardata->preferences->lambda_ionisation) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lambda_enthalpy),(stardata->preferences->lambda_enthalpy)))        Printf ( "STARDATA double                        : stardata->preferences->lambda_enthalpy = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lambda_enthalpy, stardata->preferences->lambda_enthalpy, (stardata->preferences->lambda_enthalpy - stardata->previous_stardata->preferences->lambda_enthalpy) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->accretion_limit_eddington_multiplier),(stardata->preferences->accretion_limit_eddington_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->accretion_limit_eddington_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->accretion_limit_eddington_multiplier, stardata->preferences->accretion_limit_eddington_multiplier, (stardata->preferences->accretion_limit_eddington_multiplier - stardata->previous_stardata->preferences->accretion_limit_eddington_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->accretion_limit_thermal_multiplier),(stardata->preferences->accretion_limit_thermal_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->accretion_limit_thermal_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->accretion_limit_thermal_multiplier, stardata->preferences->accretion_limit_thermal_multiplier, (stardata->preferences->accretion_limit_thermal_multiplier - stardata->previous_stardata->preferences->accretion_limit_thermal_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->accretion_limit_dynamical_multiplier),(stardata->preferences->accretion_limit_dynamical_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->accretion_limit_dynamical_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->accretion_limit_dynamical_multiplier, stardata->preferences->accretion_limit_dynamical_multiplier, (stardata->preferences->accretion_limit_dynamical_multiplier - stardata->previous_stardata->preferences->accretion_limit_dynamical_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->donor_limit_thermal_multiplier),(stardata->preferences->donor_limit_thermal_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->donor_limit_thermal_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->donor_limit_thermal_multiplier, stardata->preferences->donor_limit_thermal_multiplier, (stardata->preferences->donor_limit_thermal_multiplier - stardata->previous_stardata->preferences->donor_limit_thermal_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->donor_limit_dynamical_multiplier),(stardata->preferences->donor_limit_dynamical_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->donor_limit_dynamical_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->donor_limit_dynamical_multiplier, stardata->preferences->donor_limit_dynamical_multiplier, (stardata->preferences->donor_limit_dynamical_multiplier - stardata->previous_stardata->preferences->donor_limit_dynamical_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->donor_limit_envelope_multiplier),(stardata->preferences->donor_limit_envelope_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->donor_limit_envelope_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->donor_limit_envelope_multiplier, stardata->preferences->donor_limit_envelope_multiplier, (stardata->preferences->donor_limit_envelope_multiplier - stardata->previous_stardata->preferences->donor_limit_envelope_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nova_retention_fraction),(stardata->preferences->nova_retention_fraction)))        Printf ( "STARDATA double                        : stardata->preferences->nova_retention_fraction = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nova_retention_fraction, stardata->preferences->nova_retention_fraction, (stardata->preferences->nova_retention_fraction - stardata->previous_stardata->preferences->nova_retention_fraction) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->beta_reverse_nova),(stardata->preferences->beta_reverse_nova)))        Printf ( "STARDATA double                        : stardata->preferences->beta_reverse_nova = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->beta_reverse_nova, stardata->preferences->beta_reverse_nova, (stardata->preferences->beta_reverse_nova - stardata->previous_stardata->preferences->beta_reverse_nova) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nova_irradiation_multiplier),(stardata->preferences->nova_irradiation_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->nova_irradiation_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nova_irradiation_multiplier, stardata->preferences->nova_irradiation_multiplier, (stardata->preferences->nova_irradiation_multiplier - stardata->previous_stardata->preferences->nova_irradiation_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nova_faml_multiplier),(stardata->preferences->nova_faml_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->nova_faml_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nova_faml_multiplier, stardata->preferences->nova_faml_multiplier, (stardata->preferences->nova_faml_multiplier - stardata->previous_stardata->preferences->nova_faml_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->rlof_angmom_gamma),(stardata->preferences->rlof_angmom_gamma)))        Printf ( "STARDATA double                        : stardata->preferences->rlof_angmom_gamma = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->rlof_angmom_gamma, stardata->preferences->rlof_angmom_gamma, (stardata->preferences->rlof_angmom_gamma - stardata->previous_stardata->preferences->rlof_angmom_gamma) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nonconservative_angmom_gamma),(stardata->preferences->nonconservative_angmom_gamma)))        Printf ( "STARDATA double                        : stardata->preferences->nonconservative_angmom_gamma = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nonconservative_angmom_gamma, stardata->preferences->nonconservative_angmom_gamma, (stardata->preferences->nonconservative_angmom_gamma - stardata->previous_stardata->preferences->nonconservative_angmom_gamma) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->gb_reimers_eta),(stardata->preferences->gb_reimers_eta)))        Printf ( "STARDATA double                        : stardata->preferences->gb_reimers_eta = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->gb_reimers_eta, stardata->preferences->gb_reimers_eta, (stardata->preferences->gb_reimers_eta - stardata->previous_stardata->preferences->gb_reimers_eta) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->CRAP_parameter),(stardata->preferences->CRAP_parameter)))        Printf ( "STARDATA double                        : stardata->preferences->CRAP_parameter = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->CRAP_parameter, stardata->preferences->CRAP_parameter, (stardata->preferences->CRAP_parameter - stardata->previous_stardata->preferences->CRAP_parameter) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->Bondi_Hoyle_accretion_factor),(stardata->preferences->Bondi_Hoyle_accretion_factor)))        Printf ( "STARDATA double                        : stardata->preferences->Bondi_Hoyle_accretion_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->Bondi_Hoyle_accretion_factor, stardata->preferences->Bondi_Hoyle_accretion_factor, (stardata->preferences->Bondi_Hoyle_accretion_factor - stardata->previous_stardata->preferences->Bondi_Hoyle_accretion_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->max_tpagb_core_mass),(stardata->preferences->max_tpagb_core_mass)))        Printf ( "STARDATA double                        : stardata->preferences->max_tpagb_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->max_tpagb_core_mass, stardata->preferences->max_tpagb_core_mass, (stardata->preferences->max_tpagb_core_mass - stardata->previous_stardata->preferences->max_tpagb_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->chandrasekhar_mass),(stardata->preferences->chandrasekhar_mass)))        Printf ( "STARDATA double                        : stardata->preferences->chandrasekhar_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->chandrasekhar_mass, stardata->preferences->chandrasekhar_mass, (stardata->preferences->chandrasekhar_mass - stardata->previous_stardata->preferences->chandrasekhar_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->max_neutron_star_mass),(stardata->preferences->max_neutron_star_mass)))        Printf ( "STARDATA double                        : stardata->preferences->max_neutron_star_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->max_neutron_star_mass, stardata->preferences->max_neutron_star_mass, (stardata->preferences->max_neutron_star_mass - stardata->previous_stardata->preferences->max_neutron_star_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->minimum_mass_for_carbon_ignition),(stardata->preferences->minimum_mass_for_carbon_ignition)))        Printf ( "STARDATA double                        : stardata->preferences->minimum_mass_for_carbon_ignition = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->minimum_mass_for_carbon_ignition, stardata->preferences->minimum_mass_for_carbon_ignition, (stardata->preferences->minimum_mass_for_carbon_ignition - stardata->previous_stardata->preferences->minimum_mass_for_carbon_ignition) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->minimum_mass_for_neon_ignition),(stardata->preferences->minimum_mass_for_neon_ignition)))        Printf ( "STARDATA double                        : stardata->preferences->minimum_mass_for_neon_ignition = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->minimum_mass_for_neon_ignition, stardata->preferences->minimum_mass_for_neon_ignition, (stardata->preferences->minimum_mass_for_neon_ignition - stardata->previous_stardata->preferences->minimum_mass_for_neon_ignition) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->max_HeWD_mass),(stardata->preferences->max_HeWD_mass)))        Printf ( "STARDATA double                        : stardata->preferences->max_HeWD_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->max_HeWD_mass, stardata->preferences->max_HeWD_mass, (stardata->preferences->max_HeWD_mass - stardata->previous_stardata->preferences->max_HeWD_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->minimum_helium_ignition_core_mass),(stardata->preferences->minimum_helium_ignition_core_mass)))        Printf ( "STARDATA double                        : stardata->preferences->minimum_helium_ignition_core_mass = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->minimum_helium_ignition_core_mass, stardata->preferences->minimum_helium_ignition_core_mass, (stardata->preferences->minimum_helium_ignition_core_mass - stardata->previous_stardata->preferences->minimum_helium_ignition_core_mass) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->gbwindfac),(stardata->preferences->gbwindfac)))        Printf ( "STARDATA double                        : stardata->preferences->gbwindfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->gbwindfac, stardata->preferences->gbwindfac, (stardata->preferences->gbwindfac - stardata->previous_stardata->preferences->gbwindfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->agbwindfac),(stardata->preferences->agbwindfac)))        Printf ( "STARDATA double                        : stardata->preferences->agbwindfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->agbwindfac, stardata->preferences->agbwindfac, (stardata->preferences->agbwindfac - stardata->previous_stardata->preferences->agbwindfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->tidal_strength_factor),(stardata->preferences->tidal_strength_factor)))        Printf ( "STARDATA double                        : stardata->preferences->tidal_strength_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->tidal_strength_factor, stardata->preferences->tidal_strength_factor, (stardata->preferences->tidal_strength_factor - stardata->previous_stardata->preferences->tidal_strength_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->merger_angular_momentum_factor),(stardata->preferences->merger_angular_momentum_factor)))        Printf ( "STARDATA double                        : stardata->preferences->merger_angular_momentum_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->merger_angular_momentum_factor, stardata->preferences->merger_angular_momentum_factor, (stardata->preferences->merger_angular_momentum_factor - stardata->previous_stardata->preferences->merger_angular_momentum_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->wind_djorb_fac),(stardata->preferences->wind_djorb_fac)))        Printf ( "STARDATA double                        : stardata->preferences->wind_djorb_fac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->wind_djorb_fac, stardata->preferences->wind_djorb_fac, (stardata->preferences->wind_djorb_fac - stardata->previous_stardata->preferences->wind_djorb_fac) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lw),(stardata->preferences->lw)))        Printf ( "STARDATA double                        : stardata->preferences->lw = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lw, stardata->preferences->lw, (stardata->preferences->lw - stardata->previous_stardata->preferences->lw) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mass_accretion_for_eld),(stardata->preferences->mass_accretion_for_eld)))        Printf ( "STARDATA double                        : stardata->preferences->mass_accretion_for_eld = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mass_accretion_for_eld, stardata->preferences->mass_accretion_for_eld, (stardata->preferences->mass_accretion_for_eld - stardata->previous_stardata->preferences->mass_accretion_for_eld) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor),(stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor)))        Printf ( "STARDATA double                        : stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor, stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor, (stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor - stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_hydrogen_donor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor),(stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor)))        Printf ( "STARDATA double                        : stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor, stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor, (stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor - stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_helium_donor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor),(stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor)))        Printf ( "STARDATA double                        : stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor, stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor, (stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor - stardata->previous_stardata->preferences->WD_accretion_rate_novae_upper_limit_other_donor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor),(stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor)))        Printf ( "STARDATA double                        : stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor, stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor, (stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor - stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor),(stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor)))        Printf ( "STARDATA double                        : stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor, stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor, (stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor - stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor),(stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor)))        Printf ( "STARDATA double                        : stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor, stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor, (stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor - stardata->previous_stardata->preferences->WD_accretion_rate_new_giant_envelope_lower_limit_other_donor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mass_for_Hestar_Ia_lower),(stardata->preferences->mass_for_Hestar_Ia_lower)))        Printf ( "STARDATA double                        : stardata->preferences->mass_for_Hestar_Ia_lower = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mass_for_Hestar_Ia_lower, stardata->preferences->mass_for_Hestar_Ia_lower, (stardata->preferences->mass_for_Hestar_Ia_lower - stardata->previous_stardata->preferences->mass_for_Hestar_Ia_lower) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mass_for_Hestar_Ia_upper),(stardata->preferences->mass_for_Hestar_Ia_upper)))        Printf ( "STARDATA double                        : stardata->preferences->mass_for_Hestar_Ia_upper = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mass_for_Hestar_Ia_upper, stardata->preferences->mass_for_Hestar_Ia_upper, (stardata->preferences->mass_for_Hestar_Ia_upper - stardata->previous_stardata->preferences->mass_for_Hestar_Ia_upper) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->vw93_mira_shift),(stardata->preferences->vw93_mira_shift)))        Printf ( "STARDATA double                        : stardata->preferences->vw93_mira_shift = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->vw93_mira_shift, stardata->preferences->vw93_mira_shift, (stardata->preferences->vw93_mira_shift - stardata->previous_stardata->preferences->vw93_mira_shift) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->vw93_multiplier),(stardata->preferences->vw93_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->vw93_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->vw93_multiplier, stardata->preferences->vw93_multiplier, (stardata->preferences->vw93_multiplier - stardata->previous_stardata->preferences->vw93_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nelemans_gamma),(stardata->preferences->nelemans_gamma)))        Printf ( "STARDATA double                        : stardata->preferences->nelemans_gamma = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nelemans_gamma, stardata->preferences->nelemans_gamma, (stardata->preferences->nelemans_gamma - stardata->previous_stardata->preferences->nelemans_gamma) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nelemans_minq),(stardata->preferences->nelemans_minq)))        Printf ( "STARDATA double                        : stardata->preferences->nelemans_minq = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nelemans_minq, stardata->preferences->nelemans_minq, (stardata->preferences->nelemans_minq - stardata->previous_stardata->preferences->nelemans_minq) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->nelemans_max_frac_j_change),(stardata->preferences->nelemans_max_frac_j_change)))        Printf ( "STARDATA double                        : stardata->preferences->nelemans_max_frac_j_change = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->nelemans_max_frac_j_change, stardata->preferences->nelemans_max_frac_j_change, (stardata->preferences->nelemans_max_frac_j_change - stardata->previous_stardata->preferences->nelemans_max_frac_j_change) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->comenv_post_eccentricity),(stardata->preferences->comenv_post_eccentricity)))        Printf ( "STARDATA double                        : stardata->preferences->comenv_post_eccentricity = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->comenv_post_eccentricity, stardata->preferences->comenv_post_eccentricity, (stardata->preferences->comenv_post_eccentricity - stardata->previous_stardata->preferences->comenv_post_eccentricity) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->hachisu_qcrit),(stardata->preferences->hachisu_qcrit)))        Printf ( "STARDATA double                        : stardata->preferences->hachisu_qcrit = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->hachisu_qcrit, stardata->preferences->hachisu_qcrit, (stardata->preferences->hachisu_qcrit - stardata->previous_stardata->preferences->hachisu_qcrit) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->gravitational_radiation_modulator_J),(stardata->preferences->gravitational_radiation_modulator_J)))        Printf ( "STARDATA double                        : stardata->preferences->gravitational_radiation_modulator_J = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->gravitational_radiation_modulator_J, stardata->preferences->gravitational_radiation_modulator_J, (stardata->preferences->gravitational_radiation_modulator_J - stardata->previous_stardata->preferences->gravitational_radiation_modulator_J) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->gravitational_radiation_modulator_e),(stardata->preferences->gravitational_radiation_modulator_e)))        Printf ( "STARDATA double                        : stardata->preferences->gravitational_radiation_modulator_e = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->gravitational_radiation_modulator_e, stardata->preferences->gravitational_radiation_modulator_e, (stardata->preferences->gravitational_radiation_modulator_e - stardata->previous_stardata->preferences->gravitational_radiation_modulator_e) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->timestep_modulator),(stardata->preferences->timestep_modulator)))        Printf ( "STARDATA double                        : stardata->preferences->timestep_modulator = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->timestep_modulator, stardata->preferences->timestep_modulator, (stardata->preferences->timestep_modulator - stardata->previous_stardata->preferences->timestep_modulator) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->RLOF_timestep_modulator),(stardata->preferences->RLOF_timestep_modulator)))        Printf ( "STARDATA double                        : stardata->preferences->RLOF_timestep_modulator = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->RLOF_timestep_modulator, stardata->preferences->RLOF_timestep_modulator, (stardata->preferences->RLOF_timestep_modulator - stardata->previous_stardata->preferences->RLOF_timestep_modulator) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->RLOF_mdot_factor),(stardata->preferences->RLOF_mdot_factor)))        Printf ( "STARDATA double                        : stardata->preferences->RLOF_mdot_factor = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->RLOF_mdot_factor, stardata->preferences->RLOF_mdot_factor, (stardata->preferences->RLOF_mdot_factor - stardata->previous_stardata->preferences->RLOF_mdot_factor) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->f_massloss_during_MS_mergers),(stardata->preferences->f_massloss_during_MS_mergers)))        Printf ( "STARDATA double                        : stardata->preferences->f_massloss_during_MS_mergers = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->f_massloss_during_MS_mergers, stardata->preferences->f_massloss_during_MS_mergers, (stardata->preferences->f_massloss_during_MS_mergers - stardata->previous_stardata->preferences->f_massloss_during_MS_mergers) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->mixingpar_MS_mergers),(stardata->preferences->mixingpar_MS_mergers)))        Printf ( "STARDATA double                        : stardata->preferences->mixingpar_MS_mergers = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->mixingpar_MS_mergers, stardata->preferences->mixingpar_MS_mergers, (stardata->preferences->mixingpar_MS_mergers - stardata->previous_stardata->preferences->mixingpar_MS_mergers) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->minimum_envelope_mass_for_third_dredgeup),(stardata->preferences->minimum_envelope_mass_for_third_dredgeup)))        Printf ( "STARDATA double                        : stardata->preferences->minimum_envelope_mass_for_third_dredgeup = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->minimum_envelope_mass_for_third_dredgeup, stardata->preferences->minimum_envelope_mass_for_third_dredgeup, (stardata->preferences->minimum_envelope_mass_for_third_dredgeup - stardata->previous_stardata->preferences->minimum_envelope_mass_for_third_dredgeup) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lambda_min),(stardata->preferences->lambda_min)))        Printf ( "STARDATA double                        : stardata->preferences->lambda_min = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lambda_min, stardata->preferences->lambda_min, (stardata->preferences->lambda_min - stardata->previous_stardata->preferences->lambda_min) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->delta_mcmin),(stardata->preferences->delta_mcmin)))        Printf ( "STARDATA double                        : stardata->preferences->delta_mcmin = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->delta_mcmin, stardata->preferences->delta_mcmin, (stardata->preferences->delta_mcmin - stardata->previous_stardata->preferences->delta_mcmin) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->lambda_multiplier),(stardata->preferences->lambda_multiplier)))        Printf ( "STARDATA double                        : stardata->preferences->lambda_multiplier = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->lambda_multiplier, stardata->preferences->lambda_multiplier, (stardata->preferences->lambda_multiplier - stardata->previous_stardata->preferences->lambda_multiplier) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->dtfac),(stardata->preferences->dtfac)))        Printf ( "STARDATA double                        : stardata->preferences->dtfac = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->dtfac, stardata->preferences->dtfac, (stardata->preferences->dtfac - stardata->previous_stardata->preferences->dtfac) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->observable_radial_velocity_minimum),(stardata->preferences->observable_radial_velocity_minimum)))        Printf ( "STARDATA double                        : stardata->preferences->observable_radial_velocity_minimum = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->observable_radial_velocity_minimum, stardata->preferences->observable_radial_velocity_minimum, (stardata->preferences->observable_radial_velocity_minimum - stardata->previous_stardata->preferences->observable_radial_velocity_minimum) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->start_time),(stardata->preferences->start_time)))        Printf ( "STARDATA double                        : stardata->preferences->start_time = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->start_time, stardata->preferences->start_time, (stardata->preferences->start_time - stardata->previous_stardata->preferences->start_time) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->max_stellar_angmom_change),(stardata->preferences->max_stellar_angmom_change)))        Printf ( "STARDATA double                        : stardata->preferences->max_stellar_angmom_change = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->max_stellar_angmom_change, stardata->preferences->max_stellar_angmom_change, (stardata->preferences->max_stellar_angmom_change - stardata->previous_stardata->preferences->max_stellar_angmom_change) ) ;
-if(!FEQUAL((stardata->previous_stardata->preferences->rotationally_enhanced_exponent),(stardata->preferences->rotationally_enhanced_exponent)))        Printf ( "STARDATA double                        : stardata->preferences->rotationally_enhanced_exponent = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->preferences->rotationally_enhanced_exponent, stardata->preferences->rotationally_enhanced_exponent, (stardata->preferences->rotationally_enhanced_exponent - stardata->previous_stardata->preferences->rotationally_enhanced_exponent) ) ;
-
-if(((stardata->previous_stardata->preferences->caller_id)!=(stardata->preferences->caller_id)))        Printf ( "STARDATA int                           : stardata->preferences->caller_id = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->caller_id, stardata->preferences->caller_id, (stardata->preferences->caller_id - stardata->previous_stardata->preferences->caller_id) ) ;
-if(((stardata->previous_stardata->preferences->...))!=(stardata->preferences->...))))        Printf ( "STARDATA int                           : stardata->preferences->...) = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->...), stardata->preferences->...), (stardata->preferences->...) - stardata->previous_stardata->preferences->...)) ) ;
-if(((stardata->previous_stardata->preferences->nelemans_n_comenvs)!=(stardata->preferences->nelemans_n_comenvs)))        Printf ( "STARDATA int                           : stardata->preferences->nelemans_n_comenvs = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->nelemans_n_comenvs, stardata->preferences->nelemans_n_comenvs, (stardata->preferences->nelemans_n_comenvs - stardata->previous_stardata->preferences->nelemans_n_comenvs) ) ;
-if(((stardata->previous_stardata->preferences->current_splitdepth)!=(stardata->preferences->current_splitdepth)))        Printf ( "STARDATA int                           : stardata->preferences->current_splitdepth = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->current_splitdepth, stardata->preferences->current_splitdepth, (stardata->preferences->current_splitdepth - stardata->previous_stardata->preferences->current_splitdepth) ) ;
-if(((stardata->previous_stardata->preferences->evolution_splitting_maxdepth)!=(stardata->preferences->evolution_splitting_maxdepth)))        Printf ( "STARDATA int                           : stardata->preferences->evolution_splitting_maxdepth = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->evolution_splitting_maxdepth, stardata->preferences->evolution_splitting_maxdepth, (stardata->preferences->evolution_splitting_maxdepth - stardata->previous_stardata->preferences->evolution_splitting_maxdepth) ) ;
-if(((stardata->previous_stardata->preferences->evolution_splitting_sn_n)!=(stardata->preferences->evolution_splitting_sn_n)))        Printf ( "STARDATA int                           : stardata->preferences->evolution_splitting_sn_n = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->evolution_splitting_sn_n, stardata->preferences->evolution_splitting_sn_n, (stardata->preferences->evolution_splitting_sn_n - stardata->previous_stardata->preferences->evolution_splitting_sn_n) ) ;
-if(((stardata->previous_stardata->preferences->max_model_number)!=(stardata->preferences->max_model_number)))        Printf ( "STARDATA int                           : stardata->preferences->max_model_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->max_model_number, stardata->preferences->max_model_number, (stardata->preferences->max_model_number - stardata->previous_stardata->preferences->max_model_number) ) ;
-if(((stardata->previous_stardata->preferences->gbwind)!=(stardata->preferences->gbwind)))        Printf ( "STARDATA int                           : stardata->preferences->gbwind = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->gbwind, stardata->preferences->gbwind, (stardata->preferences->gbwind - stardata->previous_stardata->preferences->gbwind) ) ;
-if(((stardata->previous_stardata->preferences->tpagbwind)!=(stardata->preferences->tpagbwind)))        Printf ( "STARDATA int                           : stardata->preferences->tpagbwind = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->tpagbwind, stardata->preferences->tpagbwind, (stardata->preferences->tpagbwind - stardata->previous_stardata->preferences->tpagbwind) ) ;
-if(((stardata->previous_stardata->preferences->wr_wind)!=(stardata->preferences->wr_wind)))        Printf ( "STARDATA int                           : stardata->preferences->wr_wind = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->wr_wind, stardata->preferences->wr_wind, (stardata->preferences->wr_wind - stardata->previous_stardata->preferences->wr_wind) ) ;
-if(((stardata->previous_stardata->preferences->wd_kick_when)!=(stardata->preferences->wd_kick_when)))        Printf ( "STARDATA int                           : stardata->preferences->wd_kick_when = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->wd_kick_when, stardata->preferences->wd_kick_when, (stardata->preferences->wd_kick_when - stardata->previous_stardata->preferences->wd_kick_when) ) ;
-if(((stardata->previous_stardata->preferences->wd_kick_pulse_number)!=(stardata->preferences->wd_kick_pulse_number)))        Printf ( "STARDATA int                           : stardata->preferences->wd_kick_pulse_number = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->wd_kick_pulse_number, stardata->preferences->wd_kick_pulse_number, (stardata->preferences->wd_kick_pulse_number - stardata->previous_stardata->preferences->wd_kick_pulse_number) ) ;
-if(((stardata->previous_stardata->preferences->wd_kick_direction)!=(stardata->preferences->wd_kick_direction)))        Printf ( "STARDATA int                           : stardata->preferences->wd_kick_direction = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->wd_kick_direction, stardata->preferences->wd_kick_direction, (stardata->preferences->wd_kick_direction - stardata->previous_stardata->preferences->wd_kick_direction) ) ;
-{
-    int i0;
-    for(i0 = 0; i0 < 21; i0 ++)
-    {
-if(((stardata->previous_stardata->preferences->sn_kick_distribution[i0])!=(stardata->preferences->sn_kick_distribution[i0])))        Printf ( "STARDATA int                           : stardata->preferences->sn_kick_distribution[% 3d]             = [prev %d, now %d, diff %d]\n", i0, stardata->previous_stardata->preferences->sn_kick_distribution[i0], stardata->preferences->sn_kick_distribution[i0], (stardata->preferences->sn_kick_distribution[i0] - stardata->previous_stardata->preferences->sn_kick_distribution[i0]) ) ;
-    }
-}
-if(((stardata->previous_stardata->preferences->wind_angular_momentum_loss)!=(stardata->preferences->wind_angular_momentum_loss)))        Printf ( "STARDATA int                           : stardata->preferences->wind_angular_momentum_loss = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->wind_angular_momentum_loss, stardata->preferences->wind_angular_momentum_loss, (stardata->preferences->wind_angular_momentum_loss - stardata->previous_stardata->preferences->wind_angular_momentum_loss) ) ;
-if(((stardata->previous_stardata->preferences->RLOF_angular_momentum_transfer_model)!=(stardata->preferences->RLOF_angular_momentum_transfer_model)))        Printf ( "STARDATA int                           : stardata->preferences->RLOF_angular_momentum_transfer_model = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->RLOF_angular_momentum_transfer_model, stardata->preferences->RLOF_angular_momentum_transfer_model, (stardata->preferences->RLOF_angular_momentum_transfer_model - stardata->previous_stardata->preferences->RLOF_angular_momentum_transfer_model) ) ;
-if(((stardata->previous_stardata->preferences->gravitational_radiation_model)!=(stardata->preferences->gravitational_radiation_model)))        Printf ( "STARDATA int                           : stardata->preferences->gravitational_radiation_model = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->gravitational_radiation_model, stardata->preferences->gravitational_radiation_model, (stardata->preferences->gravitational_radiation_model - stardata->previous_stardata->preferences->gravitational_radiation_model) ) ;
-if(((stardata->previous_stardata->preferences->BH_prescription)!=(stardata->preferences->BH_prescription)))        Printf ( "STARDATA int                           : stardata->preferences->BH_prescription = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->BH_prescription, stardata->preferences->BH_prescription, (stardata->preferences->BH_prescription - stardata->previous_stardata->preferences->BH_prescription) ) ;
-if(((stardata->previous_stardata->preferences->E2_prescription)!=(stardata->preferences->E2_prescription)))        Printf ( "STARDATA int                           : stardata->preferences->E2_prescription = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->E2_prescription, stardata->preferences->E2_prescription, (stardata->preferences->E2_prescription - stardata->previous_stardata->preferences->E2_prescription) ) ;
-if(((stardata->previous_stardata->preferences->RLOF_interpolation_method)!=(stardata->preferences->RLOF_interpolation_method)))        Printf ( "STARDATA int                           : stardata->preferences->RLOF_interpolation_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->RLOF_interpolation_method, stardata->preferences->RLOF_interpolation_method, (stardata->preferences->RLOF_interpolation_method - stardata->previous_stardata->preferences->RLOF_interpolation_method) ) ;
-if(((stardata->previous_stardata->preferences->nova_retention_method)!=(stardata->preferences->nova_retention_method)))        Printf ( "STARDATA int                           : stardata->preferences->nova_retention_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->nova_retention_method, stardata->preferences->nova_retention_method, (stardata->preferences->nova_retention_method - stardata->previous_stardata->preferences->nova_retention_method) ) ;
-if(((stardata->previous_stardata->preferences->solver)!=(stardata->preferences->solver)))        Printf ( "STARDATA int                           : stardata->preferences->solver = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->solver, stardata->preferences->solver, (stardata->preferences->solver - stardata->previous_stardata->preferences->solver) ) ;
-if(((stardata->previous_stardata->preferences->WRLOF_method)!=(stardata->preferences->WRLOF_method)))        Printf ( "STARDATA int                           : stardata->preferences->WRLOF_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->WRLOF_method, stardata->preferences->WRLOF_method, (stardata->preferences->WRLOF_method - stardata->previous_stardata->preferences->WRLOF_method) ) ;
-if(((stardata->previous_stardata->preferences->wind_mass_loss_algorithm)!=(stardata->preferences->wind_mass_loss_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->wind_mass_loss_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->wind_mass_loss_algorithm, stardata->preferences->wind_mass_loss_algorithm, (stardata->preferences->wind_mass_loss_algorithm - stardata->previous_stardata->preferences->wind_mass_loss_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->comenv_prescription)!=(stardata->preferences->comenv_prescription)))        Printf ( "STARDATA int                           : stardata->preferences->comenv_prescription = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->comenv_prescription, stardata->preferences->comenv_prescription, (stardata->preferences->comenv_prescription - stardata->previous_stardata->preferences->comenv_prescription) ) ;
-if(((stardata->previous_stardata->preferences->qcrit_giant_branch_method)!=(stardata->preferences->qcrit_giant_branch_method)))        Printf ( "STARDATA int                           : stardata->preferences->qcrit_giant_branch_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->qcrit_giant_branch_method, stardata->preferences->qcrit_giant_branch_method, (stardata->preferences->qcrit_giant_branch_method - stardata->previous_stardata->preferences->qcrit_giant_branch_method) ) ;
-if(((stardata->previous_stardata->preferences->comenv_ejection_spin_method)!=(stardata->preferences->comenv_ejection_spin_method)))        Printf ( "STARDATA int                           : stardata->preferences->comenv_ejection_spin_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->comenv_ejection_spin_method, stardata->preferences->comenv_ejection_spin_method, (stardata->preferences->comenv_ejection_spin_method - stardata->previous_stardata->preferences->comenv_ejection_spin_method) ) ;
-if(((stardata->previous_stardata->preferences->comenv_merger_spin_method)!=(stardata->preferences->comenv_merger_spin_method)))        Printf ( "STARDATA int                           : stardata->preferences->comenv_merger_spin_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->comenv_merger_spin_method, stardata->preferences->comenv_merger_spin_method, (stardata->preferences->comenv_merger_spin_method - stardata->previous_stardata->preferences->comenv_merger_spin_method) ) ;
-if(((stardata->previous_stardata->preferences->magnetic_braking_algorithm)!=(stardata->preferences->magnetic_braking_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->magnetic_braking_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->magnetic_braking_algorithm, stardata->preferences->magnetic_braking_algorithm, (stardata->preferences->magnetic_braking_algorithm - stardata->previous_stardata->preferences->magnetic_braking_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->post_SN_orbit_method)!=(stardata->preferences->post_SN_orbit_method)))        Printf ( "STARDATA int                           : stardata->preferences->post_SN_orbit_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->post_SN_orbit_method, stardata->preferences->post_SN_orbit_method, (stardata->preferences->post_SN_orbit_method - stardata->previous_stardata->preferences->post_SN_orbit_method) ) ;
-if(((stardata->previous_stardata->preferences->random_systems)!=(stardata->preferences->random_systems)))        Printf ( "STARDATA int                           : stardata->preferences->random_systems = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->random_systems, stardata->preferences->random_systems, (stardata->preferences->random_systems - stardata->previous_stardata->preferences->random_systems) ) ;
-if(((stardata->previous_stardata->preferences->batchmode)!=(stardata->preferences->batchmode)))        Printf ( "STARDATA int                           : stardata->preferences->batchmode = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->batchmode, stardata->preferences->batchmode, (stardata->preferences->batchmode - stardata->previous_stardata->preferences->batchmode) ) ;
-if(((stardata->previous_stardata->preferences->batch_submode)!=(stardata->preferences->batch_submode)))        Printf ( "STARDATA int                           : stardata->preferences->batch_submode = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->batch_submode, stardata->preferences->batch_submode, (stardata->preferences->batch_submode - stardata->previous_stardata->preferences->batch_submode) ) ;
-if(((stardata->previous_stardata->preferences->rotationally_enhanced_mass_loss)!=(stardata->preferences->rotationally_enhanced_mass_loss)))        Printf ( "STARDATA int                           : stardata->preferences->rotationally_enhanced_mass_loss = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->rotationally_enhanced_mass_loss, stardata->preferences->rotationally_enhanced_mass_loss, (stardata->preferences->rotationally_enhanced_mass_loss - stardata->previous_stardata->preferences->rotationally_enhanced_mass_loss) ) ;
-if(((stardata->previous_stardata->preferences->repeat)!=(stardata->preferences->repeat)))        Printf ( "STARDATA int                           : stardata->preferences->repeat = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->repeat, stardata->preferences->repeat, (stardata->preferences->repeat - stardata->previous_stardata->preferences->repeat) ) ;
-if(((stardata->previous_stardata->preferences->RLOF_method)!=(stardata->preferences->RLOF_method)))        Printf ( "STARDATA int                           : stardata->preferences->RLOF_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->RLOF_method, stardata->preferences->RLOF_method, (stardata->preferences->RLOF_method - stardata->previous_stardata->preferences->RLOF_method) ) ;
-if(((stardata->previous_stardata->preferences->small_envelope_method)!=(stardata->preferences->small_envelope_method)))        Printf ( "STARDATA int                           : stardata->preferences->small_envelope_method = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->small_envelope_method, stardata->preferences->small_envelope_method, (stardata->preferences->small_envelope_method - stardata->previous_stardata->preferences->small_envelope_method) ) ;
-if(((stardata->previous_stardata->preferences->WDWD_merger_algorithm)!=(stardata->preferences->WDWD_merger_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->WDWD_merger_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->WDWD_merger_algorithm, stardata->preferences->WDWD_merger_algorithm, (stardata->preferences->WDWD_merger_algorithm - stardata->previous_stardata->preferences->WDWD_merger_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->type_Ia_MCh_supernova_algorithm)!=(stardata->preferences->type_Ia_MCh_supernova_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->type_Ia_MCh_supernova_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->type_Ia_MCh_supernova_algorithm, stardata->preferences->type_Ia_MCh_supernova_algorithm, (stardata->preferences->type_Ia_MCh_supernova_algorithm - stardata->previous_stardata->preferences->type_Ia_MCh_supernova_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->type_Ia_sub_MCh_supernova_algorithm)!=(stardata->preferences->type_Ia_sub_MCh_supernova_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->type_Ia_sub_MCh_supernova_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->type_Ia_sub_MCh_supernova_algorithm, stardata->preferences->type_Ia_sub_MCh_supernova_algorithm, (stardata->preferences->type_Ia_sub_MCh_supernova_algorithm - stardata->previous_stardata->preferences->type_Ia_sub_MCh_supernova_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->internal_buffering)!=(stardata->preferences->internal_buffering)))        Printf ( "STARDATA int                           : stardata->preferences->internal_buffering = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->internal_buffering, stardata->preferences->internal_buffering, (stardata->preferences->internal_buffering - stardata->previous_stardata->preferences->internal_buffering) ) ;
-if(((stardata->previous_stardata->preferences->internal_buffering_compression)!=(stardata->preferences->internal_buffering_compression)))        Printf ( "STARDATA int                           : stardata->preferences->internal_buffering_compression = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->internal_buffering_compression, stardata->preferences->internal_buffering_compression, (stardata->preferences->internal_buffering_compression - stardata->previous_stardata->preferences->internal_buffering_compression) ) ;
-if(((stardata->previous_stardata->preferences->stellar_structure_algorithm)!=(stardata->preferences->stellar_structure_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->stellar_structure_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->stellar_structure_algorithm, stardata->preferences->stellar_structure_algorithm, (stardata->preferences->stellar_structure_algorithm - stardata->previous_stardata->preferences->stellar_structure_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->AGB_core_algorithm)!=(stardata->preferences->AGB_core_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->AGB_core_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->AGB_core_algorithm, stardata->preferences->AGB_core_algorithm, (stardata->preferences->AGB_core_algorithm - stardata->previous_stardata->preferences->AGB_core_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->AGB_radius_algorithm)!=(stardata->preferences->AGB_radius_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->AGB_radius_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->AGB_radius_algorithm, stardata->preferences->AGB_radius_algorithm, (stardata->preferences->AGB_radius_algorithm - stardata->previous_stardata->preferences->AGB_radius_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->AGB_luminosity_algorithm)!=(stardata->preferences->AGB_luminosity_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->AGB_luminosity_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->AGB_luminosity_algorithm, stardata->preferences->AGB_luminosity_algorithm, (stardata->preferences->AGB_luminosity_algorithm - stardata->previous_stardata->preferences->AGB_luminosity_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->AGB_3dup_algorithm)!=(stardata->preferences->AGB_3dup_algorithm)))        Printf ( "STARDATA int                           : stardata->preferences->AGB_3dup_algorithm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->preferences->AGB_3dup_algorithm, stardata->preferences->AGB_3dup_algorithm, (stardata->preferences->AGB_3dup_algorithm - stardata->previous_stardata->preferences->AGB_3dup_algorithm) ) ;
-        Printf ( "STARDATA longint                       : stardata->preferences->cmd_line_random_seed = %l\n", stardata->preferences->cmd_line_random_seed ) ;
-        Printf ( "STARDATA longint                       : stardata->preferences->random_skip = %l\n", stardata->preferences->random_skip ) ;
-if(((stardata->previous_stardata->preferences->evolution_algorithm)!=(stardata->preferences->evolution_algorithm)))        Printf ( "STARDATA unsignedint                   : stardata->preferences->evolution_algorithm = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->preferences->evolution_algorithm, stardata->preferences->evolution_algorithm, (stardata->preferences->evolution_algorithm - stardata->previous_stardata->preferences->evolution_algorithm) ) ;
-if(((stardata->previous_stardata->preferences->wind_mass_loss)!=(stardata->preferences->wind_mass_loss)))        Printf ( "STARDATA unsignedint                   : stardata->preferences->wind_mass_loss = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->preferences->wind_mass_loss, stardata->preferences->wind_mass_loss, (stardata->preferences->wind_mass_loss - stardata->previous_stardata->preferences->wind_mass_loss) ) ;
-if(((stardata->previous_stardata->preferences->initial_abundance_mix)!=(stardata->preferences->initial_abundance_mix)))        Printf ( "STARDATA unsignedint                   : stardata->preferences->initial_abundance_mix = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->preferences->initial_abundance_mix, stardata->preferences->initial_abundance_mix, (stardata->preferences->initial_abundance_mix - stardata->previous_stardata->preferences->initial_abundance_mix) ) ;
-if(((stardata->previous_stardata->store->built)!=(stardata->store->built)))        Printf ( "STARDATA Boolean                         : stardata->store->built = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->store->built, stardata->store->built, (stardata->store->built - stardata->previous_stardata->store->built) ) ;
-if(((stardata->previous_stardata->store->debug_stopping)!=(stardata->store->debug_stopping)))        Printf ( "STARDATA Boolean                         : stardata->store->debug_stopping = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->store->debug_stopping, stardata->store->debug_stopping, (stardata->store->debug_stopping - stardata->previous_stardata->store->debug_stopping) ) ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if(((stardata->previous_stardata->cpu_is_warm)!=(stardata->cpu_is_warm)))        Printf ( "STARDATA Boolean                         : stardata->cpu_is_warm = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->cpu_is_warm, stardata->cpu_is_warm, (stardata->cpu_is_warm - stardata->previous_stardata->cpu_is_warm) ) ;
-if(((stardata->previous_stardata->evolving)!=(stardata->evolving)))        Printf ( "STARDATA Boolean                         : stardata->evolving = [prev %d, now %d, diff %d]\n", stardata->previous_stardata->evolving, stardata->evolving, (stardata->evolving - stardata->previous_stardata->evolving) ) ;
-if(!FEQUAL((stardata->previous_stardata->warmup_timer_offset),(stardata->warmup_timer_offset)))        Printf ( "STARDATA double                        : stardata->warmup_timer_offset = [prev %g, now %g, diff %g]\n", stardata->previous_stardata->warmup_timer_offset, stardata->warmup_timer_offset, (stardata->warmup_timer_offset - stardata->previous_stardata->warmup_timer_offset) ) ;
-if(((stardata->previous_stardata->n_previous_stardatas)!=(stardata->n_previous_stardatas)))        Printf ( "STARDATA unsignedint                   : stardata->n_previous_stardatas = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->n_previous_stardatas, stardata->n_previous_stardatas, (stardata->n_previous_stardatas - stardata->previous_stardata->n_previous_stardatas) ) ;
-if(((stardata->previous_stardata->n_stardata_stack)!=(stardata->n_stardata_stack)))        Printf ( "STARDATA unsignedint                   : stardata->n_stardata_stack = [prev %u, now %u, diff %u]\n", stardata->previous_stardata->n_stardata_stack, stardata->n_stardata_stack, (stardata->n_stardata_stack - stardata->previous_stardata->n_stardata_stack) ) ;
-                
\ No newline at end of file
diff --git a/src/disc/disc_bisection_rooter.c b/src/disc/disc_bisection_rooter.c
index 230f0e6da..c7e73d391 100644
--- a/src/disc/disc_bisection_rooter.c
+++ b/src/disc/disc_bisection_rooter.c
@@ -211,7 +211,7 @@ int disc_bisection_rooter(const int n,
     /*
      * Set return values
      */
-    *return_failed = failed ? TRUE : FALSE;
+    *return_failed = failed;
 
     /*
      * Set disc's convergence flag
diff --git a/src/disc/disc_status.c b/src/disc/disc_status.c
index 3b070e402..e1e3129c1 100644
--- a/src/disc/disc_status.c
+++ b/src/disc/disc_status.c
@@ -8,7 +8,7 @@ void disc_status(const struct stardata_t * const stardata)
      * Show information about discs in the system
      */
     Boolean shown_header = FALSE;
-    int k;
+    Star_number k;
     Starloop(k)
     {
         SETstar(k);
diff --git a/src/events/catch_events.c b/src/events/catch_events.c
index 1bb4fee86..c8510b29d 100644
--- a/src/events/catch_events.c
+++ b/src/events/catch_events.c
@@ -39,7 +39,7 @@ void catch_events(struct stardata_t * RESTRICT const stardata)
         }
 
         stardata->common.had_event =
-            stardata->common.n_events > 0 ? TRUE : FALSE;
+            Boolean_(stardata->common.n_events > 0);
     
         while(stardata->common.n_events > 0)
         {
diff --git a/src/evolution/evolution_difflog.c b/src/evolution/evolution_difflog.c
index 4229ff239..3722df447 100644
--- a/src/evolution/evolution_difflog.c
+++ b/src/evolution/evolution_difflog.c
@@ -333,7 +333,7 @@ static void push_stacklog(struct difflogstack_t * logstack,
     /*
      * Set the new stack item information
      */
-    int k;
+    Star_number k;
     Starloop(k)
     {
         new->m[k] = stardata->star[k].mass;
diff --git a/src/evolution/evolution_split.c b/src/evolution/evolution_split.c
index 4cb3f29f9..f164d8d51 100644
--- a/src/evolution/evolution_split.c
+++ b/src/evolution/evolution_split.c
@@ -394,7 +394,7 @@ static void modulate_stardata(struct stardata_t * RESTRICT const stardata,
             if(k==0) Xmult(stardata->model.oldyields,f);
            
 #ifdef NUCSYN_ID_SOURCES
-            SOURCELOOP(j)
+            Sourceloop(j)
             {
                 Xmult(&(stardata->model.oldyieldsources[k][j][0]),f);
             }
@@ -403,7 +403,7 @@ static void modulate_stardata(struct stardata_t * RESTRICT const stardata,
 #endif // NUCSYN_YIELD_COMPRESSION || NUCSYN_LOG_BINARY_DX_YIELDS
 
 #ifdef NUCSYN_ID_SOURCES
-            for(j=0;j<NUMBER_OF_SOURCES;j++)
+            Sourceloop(j)
             {
                 Xmult(&(star->Xsource[j][0]),f);
             }
diff --git a/src/logging/log_barium_stars.c b/src/logging/log_barium_stars.c
index 00a896815..575737b36 100644
--- a/src/logging/log_barium_stars.c
+++ b/src/logging/log_barium_stars.c
@@ -5,7 +5,7 @@
 void log_barium_stars(struct stardata_t * RESTRICT stardata)
 {
     struct star_t * star;
-    int k;
+    Star_number k;
     double dt;
   
     if(Fequal(0.0,stardata->model.time))
diff --git a/src/logging/log_every_timestep.c b/src/logging/log_every_timestep.c
index 0fe422d5d..8c397c6db 100644
--- a/src/logging/log_every_timestep.c
+++ b/src/logging/log_every_timestep.c
@@ -43,7 +43,7 @@ void log_every_timestep(struct stardata_t * RESTRICT const stardata)
     
     /* single star condition */
     Boolean single MAYBE_UNUSED = system_is_observationally_single(stardata); 
-    Boolean binary MAYBE_UNUSED = NOT(single);
+    Boolean binary MAYBE_UNUSED = Not(single);
 
     /* detect final timestep */
     Boolean final MAYBE_UNUSED = Fequal(stardata->model.time,
diff --git a/src/logging/log_jje.c b/src/logging/log_jje.c
index fbe0a4dba..3eaf58ab9 100644
--- a/src/logging/log_jje.c
+++ b/src/logging/log_jje.c
@@ -19,8 +19,7 @@
 #ifdef LOG_JJE 
 void log_jje(struct stardata_t * RESTRICT stardata)
 {
-
-    int k; // star counter
+    Star_number k; // star counter
     double teff; // effective temperature
     double dt; // timestep
     //Spectral_Type spectral_type; // spectral type
diff --git a/src/logging/log_supernova.c b/src/logging/log_supernova.c
index bae851a79..fbca7c697 100644
--- a/src/logging/log_supernova.c
+++ b/src/logging/log_supernova.c
@@ -20,7 +20,7 @@ static double Pure_function bin_data(const double x,
 
 void log_supernova(const Supernova sntype, 
                    const FILE * RESTRICT const fp,
-                   const int k,
+                   const Star_number k,
                    const double dm,
                    const double dm_co,
                    struct stardata_t * RESTRICT const stardata
diff --git a/src/logging/logging_prototypes.h b/src/logging/logging_prototypes.h
index 4e9a31649..c8b4d500f 100644
--- a/src/logging/logging_prototypes.h
+++ b/src/logging/logging_prototypes.h
@@ -69,7 +69,7 @@ void log_jl(struct stardata_t * RESTRICT const stardata);
 void giant_abundance_log(struct stardata_t * RESTRICT stardata);
 void log_supernova(const Supernova sntype, 
 		   const FILE * RESTRICT const fp,
-		   const int k,
+		   const Star_number k,
 		   const double dm,
 		   const double dm_co,
 		   struct stardata_t * RESTRICT const stardata);
diff --git a/src/logging/sdb_check.c b/src/logging/sdb_check.c
index 7ca9fc0f0..c10600e34 100644
--- a/src/logging/sdb_check.c
+++ b/src/logging/sdb_check.c
@@ -13,7 +13,7 @@
 void sdb_check(struct stardata_t * RESTRICT const stardata)
 {
 
-    int k;
+    Star_number k;
     double t1,t2;
     Boolean BI_Lyn;
     /* Function to check for sdB stars */
diff --git a/src/nucsyn/nucsyn_WR_table.c b/src/nucsyn/nucsyn_WR_table.c
index b699b3d37..3c74c0018 100644
--- a/src/nucsyn/nucsyn_WR_table.c
+++ b/src/nucsyn/nucsyn_WR_table.c
@@ -226,7 +226,7 @@ void nucsyn_WR_table(struct star_t *star,
             }
           
 #if (DEBUG==1)
-            int k2=Other_star(star->starnum); // other star number
+            Star_number k2=Other_star(star->starnum); // other star number
             Dprint("NewWR t=%g star=%d type=%d (other: %d C=%g) m=%g MZAMS=%g (frac=%g) : C,N,O=%g,%g,%g; Xinit %g,%g,%g; table %g,%g,%g (sum=%g frac of orig %g)\n",
                    stardata->model.time,
                    star->starnum,
diff --git a/src/nucsyn/nucsyn_binary_yield.c b/src/nucsyn/nucsyn_binary_yield.c
index 14307e290..d5727b22d 100644
--- a/src/nucsyn/nucsyn_binary_yield.c
+++ b/src/nucsyn/nucsyn_binary_yield.c
@@ -240,7 +240,7 @@ void nucsyn_binary_yield(struct stardata_t * RESTRICT const stardata,
     m = 0.0;
 
 #if defined NUCSYN_ID_SOURCES_GCE
-    for(j=0;j<NUMBER_OF_SOURCES;j++)
+    Sourceloop(j)
     {
 #ifndef TESTYIELDS
         /*
@@ -460,7 +460,7 @@ void nucsyn_binary_yield(struct stardata_t * RESTRICT const stardata,
 
         if(ytot > TINY)
         {
-            for(j=0;j<NUMBER_OF_SOURCES;j++)
+            Sourceloop(j)
             {
                 double srctot = 0.0;
                 Starloop(k)
@@ -546,7 +546,7 @@ void nucsyn_binary_yield(struct stardata_t * RESTRICT const stardata,
         }
 
 #ifdef NUCSYN_ID_SOURCES
-        for(j=0;j<NUMBER_OF_SOURCES;j++)
+        Sourceloop(j)
         {
             Starloop(k)
             {
diff --git a/src/nucsyn/nucsyn_cemp_log.c b/src/nucsyn/nucsyn_cemp_log.c
index 3e7b862cc..d47318edb 100644
--- a/src/nucsyn/nucsyn_cemp_log.c
+++ b/src/nucsyn/nucsyn_cemp_log.c
@@ -35,7 +35,7 @@ void nucsyn_cemp_log(struct stardata_t * RESTRICT const stardata)
     Abundance *Xsolar=stardata->common.Xsolar;
     double dt;
     struct star_t * star MAYBE_UNUSED;
-    unsigned int k;
+    Star_number k;
     char s[100];
   
     if(stardata->model.time<TINY) 
@@ -391,7 +391,7 @@ static void nucsyn_cemp_dump(struct stardata_t * stardata,
 			     double dt,
 			     Abundance * Xenv)
 {
-    int k=star->starnum;
+    Star_number k = star->starnum;
     Abundance *Xsolar=stardata->common.Xsolar;
   
     Printf("EMP %10.10f %g %g %d %g %g %g %g %g %g %g %g ",
diff --git a/src/nucsyn/nucsyn_function_macros.h b/src/nucsyn/nucsyn_function_macros.h
new file mode 100644
index 000000000..efbe49436
--- /dev/null
+++ b/src/nucsyn/nucsyn_function_macros.h
@@ -0,0 +1,74 @@
+#pragma once
+#ifndef NUCSYN_FUNCTION_MACROS_H
+#define NUCSYN_FUNCTION_MACROS_H
+#ifdef NUCSYN
+/*
+ * Function macros for nucleosynthesis
+ */
+
+/*
+ * Observed surface abundance 
+ */
+#define Observed_surface(S)                     \
+    ((S)->dmacc>TINY ? &((S)->Xacc[0]) : &((S)->Xenv[0]))
+
+/*
+ * Observed surface abundance of isotope I
+ * in star S
+ */
+#define Observed_abundance(S,I)                 \
+    (*(Observed_surface(S)+(int)I))
+
+
+/* define conditions for burning of the dredge-up material */
+#define Third_dredge_up_burning_conditions(A,B) ((A>=T_MIN_HBB)&&(B>=RHO_MIN_HBB)&&((m0>nucsyn_mhbbmin(stardata->common.metallicity))||(stardata->common.metallicity<=0.004)))
+/* or NEVER dup burn */
+//#define Third_dredge_up_burning_conditions(A,B) (1==0)
+
+
+
+/*
+ * Define an expression that is true if hbb should occur, otherwise it's false
+ */
+#define HBB_Conditions(T,RHO,MENV,MZERO)        \
+    (                                           \
+        (T) >= (T_MIN_HBB) &&                   \
+        (RHO) >= (RHO_MIN_HBB) &&               \
+        (MENV) > 0.2*(MZERO)                    \
+        )
+
+/* Logging command */
+#ifdef NUCSYN_LOG
+
+#ifndef NUCSYN_THIRD_DREDGE_UP
+#define __LAMBDA 0.0
+#else
+#define __LAMBDA (stardata->star[0].lambda_3dup)
+#endif
+
+#define Log_nucsyn(C,A,B,D) \
+    nucsyn_log(                                 \
+        (A),                                    \
+        *mt,                                    \
+        *mc,                                    \
+        *r,                                     \
+        *rc,                                    \
+        *lum,                                   \
+        newstar,                                \
+        stardata,                               \
+        (__LAMBDA),                             \
+        (B),                                    \
+        D);
+#else
+#define Log_nucsyn(C,A,B,D) /* */
+#endif
+
+
+/* macro for timescale against proton capture */
+#define Nuclear_burning_timescale(A) (invNH1/sigmav[(A)])
+#define Inverse_nuclear_burning_timescale(A) (sigmav[(A)]/invNH1)
+
+
+
+#endif // NUCSYN
+#endif // NUCSYN_FUNCTION_MACROS_H
diff --git a/src/nucsyn/nucsyn_long_log.c b/src/nucsyn/nucsyn_long_log.c
index e302f90cf..bcdac9b1b 100644
--- a/src/nucsyn/nucsyn_long_log.c
+++ b/src/nucsyn/nucsyn_long_log.c
@@ -13,8 +13,8 @@
 
 void nucsyn_long_log(struct stardata_t * RESTRICT const stardata)
 {
-    int k; // star number
-    int i; // isotope number
+    Star_number k; // star number
+    Isotope i; // isotope number
     struct star_t *star;
 
     // loop over stars
diff --git a/src/nucsyn/nucsyn_macros.h b/src/nucsyn/nucsyn_macros.h
index f9f1288d4..415076110 100644
--- a/src/nucsyn/nucsyn_macros.h
+++ b/src/nucsyn/nucsyn_macros.h
@@ -11,25 +11,7 @@
  */
 
 #include "nucsyn_sources.h"
-
-/*
- * Observed surface abundance 
- */
-#define Observed_surface(S)                     \
-    ((S)->dmacc>TINY ? &((S)->Xacc[0]) : &((S)->Xenv[0]))
-
-/*
- * Observed surface abundance of isotope I
- * in star S
- */
-#define Observed_abundance(S,I)                 \
-    (*(Observed_surface(S)+(int)I))
-
-
-/* define conditions for burning of the dredge-up material */
-#define Third_dredge_up_burning_conditions(A,B) ((A>=T_MIN_HBB)&&(B>=RHO_MIN_HBB)&&((m0>nucsyn_mhbbmin(stardata->common.metallicity))||(stardata->common.metallicity<=0.004)))
-/* or NEVER dup burn */
-//#define Third_dredge_up_burning_conditions(A,B) (1==0)
+#include "nucsyn_function_macros.h"
 
 
 // these define the mass range for the core mass corrections "required" to
@@ -55,43 +37,7 @@
 // this is for the MgAl cycle (7.0)
 #define T_MIN_MgAl_HBB 7.0
 
-/*
- * Define an expression that is true if hbb should occur, otherwise it's false
- */
-#define HBB_Conditions(T,RHO,MENV,MZERO)        \
-    (                                           \
-        (T) >= (T_MIN_HBB) &&                   \
-        (RHO) >= (RHO_MIN_HBB) &&               \
-        (MENV) > 0.2*(MZERO)                    \
-        )
-
-
-/* Logging command */
-#ifdef NUCSYN_LOG
-
-
-
-#ifndef NUCSYN_THIRD_DREDGE_UP
-#define __LAMBDA 0.0
-#else
-#define __LAMBDA (stardata->star[0].lambda_3dup)
-#endif
-#define Log_nucsyn(C,A,B,D) \
-    nucsyn_log(                                 \
-        (A),                                    \
-        *mt,                                    \
-        *mc,                                    \
-        *r,                                     \
-        *rc,                                    \
-        *lum,                                   \
-        newstar,                                \
-        stardata,                               \
-        (__LAMBDA),                             \
-        (B),                                    \
-        D);
-#else
-#define Log_nucsyn(C,A,B,D) /* */
-#endif
+
 
 /* a very small mass */
 #define DM_TINY 1e-15
@@ -119,10 +65,6 @@
 #define NUCSYN_PN_TRIGGER_LAST_N_YEARS 1
 #define NUCSYN_PN_TRIGGER_LAST_MASS 2
 
-/* macro for timescale against proton capture */
-#define Nuclear_burning_timescale(A) (invNH1/sigmav[(A)])
-#define Inverse_nuclear_burning_timescale(A) (sigmav[(A)]/invNH1)
-
 /************************************************************/
 /* number of reaction networks (see ../networks) */
 #define NUMBER_OF_REACTION_NETWORKS 5
diff --git a/src/nucsyn/nucsyn_sources.h b/src/nucsyn/nucsyn_sources.h
index fe1cb4b17..47e846340 100644
--- a/src/nucsyn/nucsyn_sources.h
+++ b/src/nucsyn/nucsyn_sources.h
@@ -2,6 +2,9 @@
 #ifndef NUCSYN_SOURCES_H
 #define NUCSYN_SOURCES_H
 
+/* source loop */
+#define Sourceloop(N) for((N)=0;(N)<NUMBER_OF_SOURCES;(N)++)
+
 // source stirngs as an array
 //#define NUCSYN_SOURCE_STRINGS "Other","Wind","RLOF","Comenv","SNII","SNIbc","Novae","WR","AGB","GB","TZ","SAGB","POPIII","SNIa_He","SNIa_ELD","SNIa_CHAND","SNIa_He_Coal","SNIa_CHAND_Coal","SNIIa","SNAIC","SNeCAP","Disc","CBDISC","NS","Decretion","SNstrip"
 
diff --git a/src/setup/set_up_variables.c b/src/setup/set_up_variables.c
index bb3d10a37..f76548cef 100644
--- a/src/setup/set_up_variables.c
+++ b/src/setup/set_up_variables.c
@@ -34,7 +34,7 @@ void set_up_variables(const int argc,
 
         Dprint("Set up variables : first call! Reset stars...\n");
 
-        int k;
+        Star_number k;
         Starloop(k)
         {
             init_star(stardata,&stardata->star[k]);
diff --git a/src/setup/setup_prototypes.h b/src/setup/setup_prototypes.h
index b45567dcb..d482a74ff 100644
--- a/src/setup/setup_prototypes.h
+++ b/src/setup/setup_prototypes.h
@@ -24,7 +24,7 @@ void parse_arguments(const int start,
                      struct stardata_t * RESTRICT const stardata);
 
 void stardata_status(struct stardata_t * RESTRICT const stardata,
-		     const unsigned int k);
+		     const Star_number k);
 
 void version(struct stardata_t * RESTRICT const stardata);
 
diff --git a/src/setup/stardata_status.c b/src/setup/stardata_status.c
index efd7b0fdb..2b71bfc58 100644
--- a/src/setup/stardata_status.c
+++ b/src/setup/stardata_status.c
@@ -7,7 +7,7 @@
 #define OUTXARRAY(S,P) OUTARRAY(S,P,ISOTOPE_ARRAY_SIZE)
 
 void stardata_status(struct stardata_t * RESTRICT const stardata,
-                     const unsigned int k)
+                     const Star_number k)
 {
     int i;
     if(k>0)
diff --git a/src/setup/version.c b/src/setup/version.c
index 15a4f575b..e0613bd11 100644
--- a/src/setup/version.c
+++ b/src/setup/version.c
@@ -1367,7 +1367,7 @@ void version(struct stardata_t * RESTRICT const stardata)
 
     {
         Source_number i;
-        for(i=0;i<NUMBER_OF_SOURCES;i++)
+        Sourceloop(i)
         {
             Printf("Nucleosynthesis source %d is %s\n",
                    i,
diff --git a/src/supernovae/set_kick_velocity.c b/src/supernovae/set_kick_velocity.c
index 9a7077f49..ff8aee434 100644
--- a/src/supernovae/set_kick_velocity.c
+++ b/src/supernovae/set_kick_velocity.c
@@ -38,8 +38,7 @@ void set_kick_velocity(struct stardata_t * const stardata,
         {
 #endif
             double u1=0.0,v[5]; // v is the kick velocity vector
-            int k;
-
+            unsigned int k;
             for (k=1; k<=2; k++)
             {
                 u1 = (double)random_number(stardata,random_seed);
diff --git a/src/timestep/timestep.h b/src/timestep/timestep.h
index 6f2993e2d..55c493698 100644
--- a/src/timestep/timestep.h
+++ b/src/timestep/timestep.h
@@ -2,7 +2,6 @@
 #define TIMESTEP_H
 #include "../binary_c_parameters.h"
 
-
 /*
  * A list of fixed timesteps : 
  * these should be set up in setup_fixed_timesteps.c
diff --git a/src/timestep/timestep_fixed_trigger.c b/src/timestep/timestep_fixed_trigger.c
index 5394e0b1b..50fde29f4 100644
--- a/src/timestep/timestep_fixed_trigger.c
+++ b/src/timestep/timestep_fixed_trigger.c
@@ -52,7 +52,7 @@ Boolean timestep_fixed_trigger(struct stardata_t * RESTRICT const stardata,
              * Check if the time equals, or is more than, the next 
              * trigger time
              */
-            ret = Times_more_or_equal(T,t->next) ? TRUE :FALSE;
+            ret = Boolean_(Times_more_or_equal(T,t->next));
 
             /*
              * Check we haven't overrun... this is a bug if we have.
diff --git a/src/timestep/timestep_function_macros.h b/src/timestep/timestep_function_macros.h
new file mode 100644
index 000000000..68688af9f
--- /dev/null
+++ b/src/timestep/timestep_function_macros.h
@@ -0,0 +1,20 @@
+#pragma once
+#ifndef TIMESTEP_FUNCTION_MACROS_H
+#define TIMESTEP_FUNCTION_MACROS_H
+
+/* timestep limiters */
+
+#define Limit_timestep_old(T)                                   \
+    (Min(stardata->model.dt,                                    \
+         (Clamp((T),                                            \
+                1e6*stardata->preferences->minimum_timestep,    \
+                1e6*stardata->preferences->maximum_timestep))))
+
+#define Limit_timestep_Myr_old(T)                               \
+    (Min(stardata->model.dt,                                    \
+         (Clamp((T),                                            \
+                stardata->preferences->minimum_timestep,        \
+                stardata->preferences->maximum_timestep))))
+
+
+#endif // TIMESTEP_FUNCTION_MACROS_H
diff --git a/src/timestep/timestep_macros.h b/src/timestep/timestep_macros.h
index ef5e64aeb..9e3ee37d5 100644
--- a/src/timestep/timestep_macros.h
+++ b/src/timestep/timestep_macros.h
@@ -4,6 +4,7 @@
 /*
  * Macros specific to binary_c's timestep algorithm 
  */
+#include "timestep_function_macros.h"
 
 /* 
  * A long time in whatever units
diff --git a/src/zfuncs/menvf.c b/src/zfuncs/menvf.c
index fcfcfd89b..ee869123c 100644
--- a/src/zfuncs/menvf.c
+++ b/src/zfuncs/menvf.c
@@ -1,6 +1,6 @@
 #include "../binary_c.h"
 
-Constant_function double menvf(const int kw,
+Constant_function double menvf(const int stellar_type,
                                const double m,
                                const double mc,
                                const double age,
@@ -12,7 +12,7 @@ Constant_function double menvf(const int kw,
      * A function to estimate the mass of the convective envelope.
      */
 
-    if(ON_MAIN_SEQUENCE(kw))
+    if(ON_MAIN_SEQUENCE(stellar_type))
     {
         if(Less_or_equal(m,0.35))
         {
@@ -28,7 +28,7 @@ Constant_function double menvf(const int kw,
         }
         result *= pow((1.0-age/tm),0.25);
     }
-    else if(kw==HERTZSPRUNG_GAP)
+    else if(stellar_type==HERTZSPRUNG_GAP)
     {
         result =(m-mc)*(age-tm)/(tbgb-tm);
     }
diff --git a/src/zfuncs/next_evolving_star.c b/src/zfuncs/next_evolving_star.c
index a76c59830..8ff731394 100644
--- a/src/zfuncs/next_evolving_star.c
+++ b/src/zfuncs/next_evolving_star.c
@@ -11,8 +11,9 @@
  * also return -1.
  */
 
-int Pure_function next_evolving_star(int k,
-                                     const struct stardata_t * RESTRICT const stardata)
+int Pure_function next_evolving_star(
+    Star_number k,
+    const struct stardata_t * RESTRICT const stardata)
 {
     while(1)
     {
diff --git a/src/zfuncs/next_nuclear_burning_star.c b/src/zfuncs/next_nuclear_burning_star.c
index b2f47de46..4aec7e684 100644
--- a/src/zfuncs/next_nuclear_burning_star.c
+++ b/src/zfuncs/next_nuclear_burning_star.c
@@ -10,8 +10,9 @@
  * also return -1.
  */
 
-int Pure_function next_nuclear_burning_star(int k,
-                              const struct stardata_t * RESTRICT const stardata)
+int Pure_function next_nuclear_burning_star(
+    Star_number k,
+    const struct stardata_t * RESTRICT const stardata)
 {
     while(1)
     {
diff --git a/src/zfuncs/renvf.c b/src/zfuncs/renvf.c
index 836b38a29..5736b94c8 100644
--- a/src/zfuncs/renvf.c
+++ b/src/zfuncs/renvf.c
@@ -1,7 +1,7 @@
 #include "../binary_c.h"
 #ifdef BSE
 #define TAUMIN 5.0E-8
-double Pure_function renvf(const Stellar_type kw,
+double Pure_function renvf(const Stellar_type stellar_type,
                            const double m,
                            const double r,
                            const double rc,
@@ -18,7 +18,7 @@ double Pure_function renvf(const Stellar_type kw,
      */
     mx = 0.35E0;
     
-    if(ON_MAIN_SEQUENCE(kw))
+    if(ON_MAIN_SEQUENCE(stellar_type))
     {
         tau = age/tm;
         if(Less_or_equal(m,mx))
@@ -58,7 +58,7 @@ double Pure_function renvf(const Stellar_type kw,
 
         result *= pow((1.0-tau),0.25);
     }
-    else if(kw==HERTZSPRUNG_GAP)
+    else if(stellar_type==HERTZSPRUNG_GAP)
     {
         tau = (age-tm)/(tbgb-tm);
         result = sqrt(tau)*(r-rc);
diff --git a/src/zfuncs/rhelmf.c b/src/zfuncs/rhelmf.c
index 329fe54fa..fa4c3d16c 100644
--- a/src/zfuncs/rhelmf.c
+++ b/src/zfuncs/rhelmf.c
@@ -1,6 +1,6 @@
 #include "../binary_c.h"
 
-double rhelmf(Stellar_type * const kw,
+double rhelmf(Stellar_type * const stellar_type,
               const double m, 
               const double lum, 
               const double rx, 
@@ -17,7 +17,7 @@ double rhelmf(Stellar_type * const kw,
     rhe = rx*pow((lum/lx),0.2) + 0.02*(exp(cm*lum) - exp(cm*lx));
     if(rhe<ragb)
     { 
-        *kw=HeHG;
+        *stellar_type = HeHG;
         result = rhe;
     }
     else
diff --git a/src/zfuncs/system_mass.c b/src/zfuncs/system_mass.c
index 699986a58..069ace63d 100644
--- a/src/zfuncs/system_mass.c
+++ b/src/zfuncs/system_mass.c
@@ -2,11 +2,11 @@
 
 double Pure_function system_mass(struct stardata_t * stardata)
 {
-    int k;
+    Star_number k;
     double mass=0.0;
     Starloop(k)
     {
-        mass+=stardata->star[k].mass;
+        mass += stardata->star[k].mass;
     }       
     return mass;
 }
diff --git a/src/zfuncs/zfuncs_prototypes.h b/src/zfuncs/zfuncs_prototypes.h
index 853ba1be2..30e40b465 100644
--- a/src/zfuncs/zfuncs_prototypes.h
+++ b/src/zfuncs/zfuncs_prototypes.h
@@ -122,7 +122,7 @@ double Pure_function lhookf(const double m ,
                             const double * RESTRICT const main_sequence_parameters);
 Constant_function double mctmsf(const double m);
 
-double rhelmf(Stellar_type * const kw,
+double rhelmf(Stellar_type * const stellar_type,
               const double m, 
 	      const double lum, 
 	      const double rx, 
@@ -149,13 +149,13 @@ double Pure_function dmcgbtf_dt(const double t,
 double Pure_function rbetaf(const double m, 
                             const double * RESTRICT const main_sequence_parameters);
 
-Constant_function double menvf(const int kw,
+Constant_function double menvf(const int stellar_type,
                                const double m,
                                const double mc,
                                const double age,
                                const double tm,
                                const double tbgb);
-double Pure_function renvf(const Stellar_type kw,
+double Pure_function renvf(const Stellar_type stellar_type,
                            const double m,
                            const double r,
                            const double rc,
@@ -289,9 +289,9 @@ Constant_function double gamma_rot(const double mass, const double luminosity);
 
 double Pure_function system_mass(struct stardata_t * stardata);
 Constant_function double vrotf(const double m);
-int Pure_function next_evolving_star(int k,
+int Pure_function next_evolving_star(Star_number k,
                                      const struct stardata_t * RESTRICT const stardata);
-int Pure_function next_nuclear_burning_star(int k,
+int Pure_function next_nuclear_burning_star(Star_number k,
                                             const struct stardata_t * RESTRICT const stardata);
 double Pure_function omegaspin(const struct star_t * RESTRICT const star);
 
-- 
GitLab