Florian Lemaitre
email: florian.lemaitre@cern.ch-ben.couturier@cern.ch-lionel.lacassagne@lip6.fr

Benjamin Couturier

Lionel Lacassagne

Small SIMD Matrices for CERN High Throughput Computing

System tracking is an old problem and has been heavily optimized throughout the past. However, in High Energy Physics, many small systems are tracked in real-time using Kalman filtering and no implementation satisfying those constraints currently exists. In this paper, we present a code generator used to speed up Cholesky Factorization and Kalman Filter for small matrices. The generator is easy to use and produces portable and heavily optimized code. We focus on current SIMD architectures (SSE, AVX, AVX512, Neon, SVE, Altivec and VSX). Our Cholesky factorization outperforms any existing libraries: from ×3 to ×10 faster than MKL. The Kalman Filter is also faster than existing implementations, and achieves 4 • 10 9 iter/s on a 2×24C Intel Xeon.

I. INTRODUCTION

The goal of the paper is to present a code generator and optimizations to get a fast reconstruction of a system trajectory (tracking) using Kalman filtering for SIMD multi-core architectures, for which it exists no efficient implementation. The constraints are strong: few milliseconds to track thousands of particles. Right now, the choice was to focus on generalpurpose processors (GPP) as SIMD extensions are present in every system (so all CERN researcher could benefit of it). GPUs were not selected when the work started in 2015 as the transfer time (through PCI) between the host and the GPU was longer than the amount of time allocated to the computation. With the rise of the last generation of GPU connected to a CPU with a high bandwidth bus, it becomes worth evaluating them.

Even though optimizing Kalman filter tracking is an old problem [START_REF] Palis | Parallel Kalman filtering on the connection machine[END_REF], existing implementations are not efficient for many small systems.

The code generator uses the template engine Jinja2 [START_REF]Python template engine[END_REF] and implements high level and low level optimizations. It is used to produce a fast Cholesky factorization routine and a fast Kalman filter in C. The generated code is completely generic and can be used with any system. It also supports many SIMD architectures: SSE, AVX, AVX512, Neon, SVE, Altivec and VSX. In order to have a representative Kalman filter and validate its implementation, a basic 4×4 system was selected. Depending on the experiment the matrix size can change. Some specific variants can also exist: 5×5 systems for High Energy Physics [START_REF] Fr Ühwirth | Application of Kalman filtering to track and vertex fitting[END_REF], using three steps: forward, backward, smoother.

This work will be used in the next upgrade of the LHCb experiment to achieve real-time event reconstruction. // Backward substitution In this paper, we will first present Cholesky Factorization, the optimizations we applied to it, and their performance impact. Then, we will present Kalman Filter, its optimizations and their performance impact.

16 for i = n -1 : 0 do 17 s ← Y (i) 18 for j = i + 1 : n -1 do 19 s ← s -L(j, i) • X(j) 20 X(i) ← s/L(i, i)

II. CHOLESKY FACTORIZATION

A. Algorithm

Cholesky Factorization (also known as Cholesky Decomposition) is a linear algebra algorithm used to express a symmetric positive-definite matrix as the product of a triangular matrix with its transposed matrix: A = L • L T . It can be combined with forward and backward substitutions to solve a linear system (algorithm 1).

Cholesky Factorization of a n×n matrix has a complexity in terms of floating-point operations of n 3 /3 that is half of the LU one (2n 3 /3), and is numerically more stable [START_REF] Higham | Accuracy and stability of numerical algorithms[END_REF], [START_REF] Higham | Cholesky factorization[END_REF]. This algorithm is naturally in-place as every input element is accessed only once and before writing the associated element of the output: L and A can use the same storage. It requires n square roots and (n 2 + 3n)/2 divisions for n×n matrices which are slow operations especially on double precision.

With small matrices, parallelization is not efficient as there is no long dimension. Therefore, matrices are grouped by batches in order to efficiently parallelize along this new dimension. The principle is to have a for-loop iterating over the matrices, and within this loop, compute the factorization of the matrix. This is also the approach used in [START_REF] Dong | LU factorization of small matrices: accelerating batched DGETRF on the GPU[END_REF].

B. Transformations

Improving the performance of software requires transformations of the code, especially High Level Transforms (HLT). For Cholesky, we made the following transforms:

• High Level Transforms: memory layout [START_REF] Allen | Optimizing compilers for modern architectures: a dependence-based approach[END_REF] and fast square root (the latter is detailed in II-C), • loop transforms (loop unwinding [START_REF] Lacassagne | High level transforms for SIMD and low-level computer vision algorithms[END_REF] and unroll&jam),

• Architectural transforms: SIMDization.

1) Memory Layout Transform:

The memory layout transform is the first transform to address as the other ones rely on it. The default memory layout in C is Array of Structure (AoS), but is not suited for SIMD. In order to enable SIMD, the layout should be modified into Structure of Arrays (SoA). A hybrid memory layout (AoSoA) is preferred to avoid systematic cache evictions.

The alignment of the data is also crucial. Aligned memory allocations should be enforced by specific functions like posix_memalign, _mm_malloc or aligned_alloc (in C11). One might also want to align data with the cache line size (usually 64 bytes). This may improve cache hits by avoiding data being split into multiple cache lines when they fit within one cache line and avoid false sharing between threads.

2) Loop unwinding: Loop unwinding is the special case of loop unrolling where the loop is entirely unrolled. it has several advantages, especially for small matrices:

• it avoids branching,

• it allows to keep temporaries into registers (scalarization),

• it helps out-of-order processors to efficiently reschedule instructions. This transform is very important as the algorithm is memory bound. One can see that the arithmetic intensity of the scalarized version is higher. This leads to algorithm 2 and reduces the amount of memory accesses (Table I).

The register pressure is higher and the compiler may generate spill code to temporarily store variables into memory.

3) Loop Unroll & Jam: Cholesky Factorization of n×n matrices involves n square roots + n divisions for a total of ∼n 3 /3 floating-point operations (see Table I). The time before the execution of two data independent instructions (also known as throughput) is smaller than the latency. The latency of pipelined instructions can be hidden by executing another instruction in the pipeline without any data-dependence with the previous one. The ipc (instructions per cycle) is then limited by the throughputof the instruction and not by its latency.

Current processors are Out-of-Order. But they are limited by the size of their rescheduling window. In order to help Algorithm 2: Cholesky system solving A • X = R unwound and scalarized for 4×4 matrices // Load A into registers

1 a00 ← A(0, 0) 2 a10 ← A(1, 0) a11 ← A(1, 1) 3 a20 ← A(2, 0) a21 ← A(2, 1) a22 ← A(2, 2) 4 a30 ← A(3, 0) a31 ← A(3, 1) a32 ← A(3, 2) a33 ← A(3, 3) // Load R into registers 5 r0 ← R(0) r1 ← R(1) r2 ← R(2) r3 ← R(3) // Factorize A 6 l00 ← √ a00 7 l10 ← a10/l00 8 l20 ← a20/l00 9 l30 ← a30/l00 10 l11 ← a11 -l10 2 11 l21 ← (a21 -l20 • l10) /l11 12 l31 ← (a31 -l30 • l10) /l11 13 l22 ← a22 -l20 2 -l21 2 14 l32 ← (a32 -l30 • l20 -l31 • l21) /l22 15 l33 ← a33 -l30 2 -l31 2 -l32 2 // Forward substitution 16 y0 ← r0/l00 17 y1 ← (r1 -l10 • y0) /l11 18 y2 ← (r2 -l20 • y0 -l21 • y1) /l22 19 y3 ← (r3 -l30 • y0 -l31 • y1 -l32 • y1) /l33 // Backward substitution 20 x3 ← y3/l33 21 x2 ← (y2 -l32 • x3) /l22 22 x1 ← (y1 -l21 • x2 -l31 • x3) /l11 23 x0 ← (y0 -l10 • x1 -l20 • x2 -l30 • x3) /l00 // Store X into memory 24 X(3) ← x3 X(2) ← x2 X(1) ← x1 X(0) ← x0
the processor to pipeline instructions, it is possible to unroll loops and to interleave instructions of data-independent loops (Unroll&Jam). Here, Unroll&Jam of factor 2, 4 and 8 is applied to the outer loop over the array of matrices. Its efficiency is limited by the throughput of the unrolled loop instructions and the register pressure.

C. Precision and Accuracy

Cholesky Factorization requires n square roots and (n 2 + 3n)/2 divisions for a n×n matrix. But these arithmetic operations are slow, especially for double precision (see [START_REF] Fog | Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs[END_REF]) and usually not fully pipelined. Thus, square roots and divisions limit the overall Cholesky throughput.

It is possible in hardware to compute them faster with less accuracy [START_REF] Soderquist | Area and performance tradeoffs in floating-point divide and square-root implementations[END_REF]. That is why reciprocal functions are available: they are faster but have a lower accuracy: usually 12 bits for a 23-bit mantissa in single precision.

The accuracy is measured in ulp (Unit in Last Place).

1) Memorization of the reciprocal value:

In the algorithm, a square root is needed to compute L(i, i). But L(i, i) is used in the algorithm only with divisions. The algorithm needs n 2 + 3n /2 of these divisions per n×n matrix. Instead of computing x/L(i, i), one can compute x • L(i, i) -1 . The algorithm then needs only n divisions.

2) Fast square root reciprocal estimation: The algorithm performs a division by a square root and therefore needs to

Listing 1: Simple C loop 1 for (int i = 0; i < 4; i++) { 2 s = B[i] + C[i]; 3 A[i] = s / 2; 4 } Listing 2: Simple Jinja loop 1 {% f o r i i n r a n g e ( 4 ) %} 2 s{{ i }} = B[{{ i }}] + C[{{ i }}]; 3 A[{{ i }}] = s{{ i }} / 2; 4 {% e n d f o r %} compute f (x) = 1/ √ x.
There are some ways to compute an estimation of this function depending on the precision.

Most of current CPUs have a specific instruction to compute an estimation of the square root reciprocal in single precision. In fact, some ISA (Instruction Set Architecture) like Neon and Altivec VMX do not have any SIMD instruction for the square root and the division, but do have an instruction for a square root reciprocal estimation. On x86, ARM and Power, this instruction is as fast as the multiplication and gives an estimation with 12-bit accuracy. Unlike regular square root and division, this instruction is fully pipelined (throughput = 1) and thus avoids pipeline stall.

3) Accuracy recovering: Depending on the application, the previous techniques might not be accurate enough. The accuracy recovering (if needed) can be done with Newton-Raphson method or Householder's. All current SIMD architectures have FMAs instruction to apply those methods quickly. See [START_REF] Lemaitre | Cholesky factorization on simd multi-core architectures[END_REF] for more details.

D. Code generation

In order to help writing many different versions of the code, we used Jinja2 [START_REF]Python template engine[END_REF]: a template engine in Python. Using this tool, we can easily implement unrolling (both unwinding and unroll&jam) and intrinsics code. The syntax uses custom tags/tokens that control what is being output. As it is text substitution, it is possible to manipulate new identifiers.

The generated code features all transformations and all sizes from 3×3 up to 12×12 for all the architectures supported and all SIMD wrappers. There is no actual limit for the unrolled size, but the bigger the matrices, the longer the compilation. This could be replaced by a C++ template metaprogram like in [START_REF] Masliah | Metaprogramming dense linear algebra solvers applications to multi and many-core architectures[END_REF]. The use of Jinja2 instead of more common metaprogramming methods allows us to have full access and control over the generated code. In some applicative domains, it is crucial to have access to the source code before the compilation in order to quickly track bugs.

1) unrolling: Unwinding can be done in Jinja by replacing the C for-loop (Listing 1) into a Jinja for-loop (Listing 2). The output of the template is the C code the compiler will see (Listing 3).

Unroll&Jam uses a Jinja filter: a filter is a section that is interpreted by Jinja as usual, but the output is then passed to a function to transform it directly in Python. The unrollNjam Listing 3: Simple Jinja loop output

1 s0 = B[0] + C[0]; 2 A[0] = s0 / 2; 3 s1 = B[1] + C[1]; 4 A[1] = s1 / 2; 5 s2 = B[2] + C[2]; 6 A[2] = s2 / 2; 7 s3 = B[3] + C[3]; 8 A[3] = s3 / 2;
filter duplicates lines with the symbol @, and replace the @ by 0, 1, 2. . . The template code in Listing 4 generates the code in Listing 5.

2) SIMD:

The SIMD generation is handled via a custom Clike preprocessor written in Python. The interface consists in custom Python objects accessible from Jinja.

When a Python macro is used within Jinja (Listing 6), it is replaced by a unique name that is detected by our preprocessor. It then acts like a regular C-preprocessor and replaces the macro call by its definition from the Python class (Listing 7).

It is important to have a preprocessor as all the architecture intrinsics differ not only by their name, but also by their signature. The Altivec code (Listing 8) looks completely different from for SSE despite being generated from the same template (with VSX, the output would involve vec_mul instead of vec_madd). This tool can also be used to generate code for C++ SIMD wrappers.

3) SIMD wrappers: In order to see if it is worth writing intrinsics, SIMD wrappers have been integrated into the code and compared to the intrinsics and scalar code. The following libraries have been tested: Boost.SIMD [START_REF] Est Érie | SIMD: Generic programming for portable SIMDization[END_REF], libsimdpp [START_REF] Libsimdpp | Header-only zero-overhead c++ wrapper for simd intrinsics of multiple instruction sets[END_REF], MIPP [START_REF] Cassagne | An efficient, portable and generic library for successive cancellation decoding of polar codes[END_REF], UME::SIMD [START_REF] Karpi Ński | A high-performance portable abstract interface for explicit SIMD vectorization[END_REF], vcl [START_REF] Fog | C++ vector class library[END_REF].

Eigen has also been tested but is unable to compile Cholesky Factorization when the element type is an array. It would have been possible to write manually the factorization array element type, but this would defeat the whole point of Eigen.

More libraries and tools exist like CilkPlus, Cyme, ispc [START_REF] Pharr | A SPMD compiler for highperformance CPU programming[END_REF], Sierra or VC [START_REF] Kretz | Vc: A C++ library for explicit vectorization[END_REF]. CilkPlus, Cyme and Sierra appear not to be maintained anymore. VC and ispc did not fit into our test code base without a lot of efforts, thus were not tested.

Listing 4: Unroll&Jam in Jinja

1 {% f i l t e r u n r o l l N j a m ( r a n g e ( 4) ) %} 2 s@ = B[@] + C[@]; 3 A[@] = s@ / 2; 4 {% e n d f i l t e r %} Listing 5: Unroll&Jam output

1 s0 = B[0] + C[0]; 2 s1 = B[1] + C[1]; 3 s2 = B[2] + C[2]; 4 s3 = B[3] + C[3]; 5 A[0] = s0 / 2; 6 A[1] = s1 / 2; 7 A[2] = s2 / 2; 8 A[3] = s3 / 2;
2) Incremental speedup: Figure 1 gives the speedup of each transformation in the following order: unwinding, SoA + SIMD, fast square root, unroll&jam. The speedup of a transformation is dependent of the transformations already applied: the order is significant.

If we look at the speedups on HSW (Figure 1a), we can see that unwinding the inner loops improves the performance well: from ×2 to ×3. Unwinding impact decreases when the matrix size increases: the register pressure is higher.

SIMD gives a sub-linear speedup: from ×3.2 to ×6. In fact, SIMD instructions cannot be fully efficient on this function without fast square root (see subsubsection II-C2). With further analysis, we can see that the speedup of SIMD + fast square root is almost constant around ×6. The impact of the fast square root decreases as their number becomes negligible compared to the other floating-point operations. For small matrices, unroll&jam allows to get the last part of the expected SIMD speedup. SIMD + fast square root + unroll&jam: from ×6.5 to ×9. Unroll&jam loses its efficiency for larger matrices: the register pressure is higher.

Speedups on Power8 are similar: Figure 1b.

3) Impact of unrolling: Figure 2 shows the performance for different AVX versions. Without any unrolling, all versions except "legacy" have similar performance: performance seems to be limited by the latency between data-dependent instructions.

Unwinding can help Out-of-Order engine and thus reduces data-dependencies. The performance of the "non-fast" and "legacy" versions are limited by the square root and division instruction throughput. The performance has reached a limit and cannot be improved further this limitation, even with unrolling: both unwinding and unroll&jam are inefficient in this case. The "legacy" version is more limited as it requires more divisions. For "fast" versions, both unrolling are efficient. Unroll&jam achieves a ×3 speedup on regular code and ×1.5 speedup with unwinding. This transformation reduces pipeline stalls between data-dependent instructions (subsubsection II-B3). We can see that unroll&jam is less efficient when the code is already unwound but keeps improving the performance. Register pressure is higher when unrolling (unwinding or unroll&jam).

The "unwind+fastest" versions give an important benefit. By removing the accuracy recovering instructions, we save many instructions (II-C3, Accuracy recovering).

For such large matrices, unroll&jam slows down the code when it is already unwound because of the register pressure. 4) SIMD wrappers: Figure 3 shows the performance of SIMD wrappers compared to the intrinsics version. Optimizations not related to SIMD are applied the same way on all versions. With the default version, all the wrappers seem to have the performance until a point depending on the wrapper. The drop in performance is a bug of the compiler that stops With the "fast" version, most wrappers have similar performance in single precision. However, UME::SIMD does not implement the square root reciprocal approximation (despite being part of the interface). Moreover, only Boost.SIMD supports the fast square root in double precision. In that case, Boost.SIMD is a bit slower than the intrinsics code.

5) Comparison with MKL:

The version 2018 now supports the SoA memory layout. It is designated by compact within the documentation. Figure 4 shows the performance comparison between our implementation and MKL.

The compact layout improved the performance for small matrices, compared to the old functions. However, it is still slower than our version for matrices smaller than 90×90.

First, MKL does not store the reciprocal and has to compute actual divisions during both factorization and substitution. This can be compared to our "legacy" version.

Then, it uses a recursive algorithm for the substitution that has some overhead. 6) Summary: Figure 5 shows the performance of our best SIMD version against scalar versions and libraries (Eigen and MKL) for HSW, SKX, EPYC and Power8. Due to licensing limitations, MKL has only been tested on HSW.

On aarch64, gcc has a performance bug 1 where the instrinsic vmlsq_f32(a,b,c) = a -b • c is compiled into two instructions instead of one. This bug also affects the instrinsic vfmsq_f32. As Cholesky Factorization mainly uses the latter intrinsic, the performance obtained on this machine has no meaning and was not considered here. On SKX, the scalar SoA performance drops from 9×9 matrices. This is due to the compiler icc that stops vectorizing the unwound scalar code from this point.

On all tested machines, the scaling is strong with a parallel efficiency2 above 80%.

III. KALMAN FILTER A. Kalman Filter algorithm

Kalman Filter is a well-known algorithm to estimate the state of a system from noisy and/or incomplete measurements. It is commonly used in High Energy Physics and Computer Vision as a tracking algorithm (reconstruct the trajectory). It is also used for positioning systems like GPS.

Kalman filtering involves few matrix multiplications and a matrix inversion that can be done with Cholesky Factorization (see algorithm 3).

• v1: classic version of the algorithm (algorithm 3) • v2: optimized version of the algorithm (algorithm 4)

• triangle: only half of symmetric matrices is accessed 2) Incremental speedup: Incremental speedups are reported on Figure 6. Like with Cholesky, the speedup comes mainly from unwinding and SoA memory layout that enables vectorization. The mathematical optimizations (v2+triangle) give a total extra speedup about +40%.

Unlike with Cholesky, the fast square and unroll&jam give no benefit except on Power8. Indeed, the proportion of square roots and division is much lower on Kalman. Moreover, the operations are more independent from each other (more intrinsic parallelism). Therefore, unroll&jam is not efficient here. However, it is still interesting without unwinding.

The last thing to notice is that writing SIMD intrinsics does not improve the performance, except on Power8 where gcc struggles to optimize for the Power architecture.

3) Overall performance: The machines available for testing at CERN are very different: two high-end bi-socket (Intel, ARM) and two mono-socket (AMD, Power). So in order to provide fair comparisons, we have normalized the results to focus on transform speedups, and not the raw performance.

Looking at Figure 7, it appears clearly that it is not worth writing SIMD as compilers are able to vectorize the code. We still have to supply #pragma omp simd to ensure the vectorization. Otherwise, compiler heuristics would have stopped vectorizing.

Doing that, the compiler is even able to provide slightly better code than SIMD code. The instruction scheduling and register allocation might be involved.

On A72, the SIMD code is even slower than vectorized because of the gcc bug.

Like with the Cholesky factorization, the scaling is strong with a parallel efficiency above 80%.

4) State-of-the-art: As previously said, each experiment implements some specific version of Kalman filtering, direct comparison cannot be done. Indeed, the problem dimensionality is different and the steps are different. Moreover, each step of the filter for HEP is lighter than the full Kalman filtering: no control vector, one-dimension measurement space. Nevertheless, the performance of the SIMD implementations for CMS [START_REF] Cerati | Kalman filter tracking on parallel architectures[END_REF], CBM [START_REF] Gorbunov | Fast SIMDized Kalman filter based track fit[END_REF] and LHCb [START_REF] Érez | LHCb Kalman Filter cross architecture studies[END_REF] is between 500 and 1500 cycle/iter (all steps). Our 4×4 implementation achieves 44 cycle/iter (Table III). This is an order of magnitude faster than existing implementations.

As a matter of fact, the SKX machine reaches an overall performance of 4 • 10 9 iter/s.

CONCLUSION

In this paper, we have presented a code generator used to create an efficient and portable SIMD implementation of Cholesky Factorization for small matrices ( 12×12) and Kalman Filter for 4×4 systems. The generated code supports many SIMD architectures, and is AVX512/SVE ready. Being completely general, it can be used with any system and is not limited to 4×4 systems.

Our Cholesky factorization outperforms any existing libraries. Even if there are some improvements with MKL, we are still ×3 up to ×10 faster on small matrices.

Our Kalman filter implementation is not directly comparable to the State-of-the-Art because of its general form, but appears to be one order of magnitude faster. With this, we are able to reach 4 • 10 9 iter/s on a high-end Intel Xeon 2×24C.

To reach such a high level of performance, the proposed implementation combines high level transforms (fast square root and memory layout), low level transforms (loop unrolling and loop unwinding), hardware optimizations (SIMD and OPENMP multithreading) and linear algebra optimizations. The code was automatically generated using Jinja2 to provide strong optimizations with simple source code. SIMD wrappers allow to write portable SIMD code, but require extra optimizations handled by our code generator.

With GPUs directly connected to the main memory, the transfer bandwidth is much higher; thus, it would be worth considering GPUs for future work.

Algorithm 1 : 2 s 4 s 2 5 9 s 12 s ← R(i) 13 for j = 0 : i -1 do 14 s 15 Y

 1242912131415 Cholesky system solving A • X = R // Factorization 1 for j = 0 : n -1 do ← A(j, j) 3 for k = 0 : j -1 do ← s -L(j, k) Lj,j ← √ s 6 for i = j + 1 : n -1 do 7 s ← A(i, j) 8 for k = 0 : j -1 do ← s -L(i, k) • L(j, k) 10 L(i, j) ← s/L(j, j)// Forward substitution11 for i = 0 : n -1 do ← s -L(i, j) • Y (j) (i) ← s/L(i, i)

Fig. 1 :

 1 Fig. 1: Speedups of the transformations for Cholesky

Fig. 2 :Fig. 3 :

 23 Fig. 2: Performance of loop and square root transforms for the AVX 3×3 version of Cholesky on HSW

Fig. 4 :

 4 Fig. 4: Performance comparison between intrinsics code and MKL for Cholesky on HSW inlining the wrapper functions when the outer function is too big (unwinding+unroll&jam).With the "fast" version, most wrappers have similar performance in single precision. However, UME::SIMD does not implement the square root reciprocal approximation (despite being part of the interface). Moreover, only Boost.SIMD supports the fast square root in double precision. In that case, Boost.SIMD is a bit slower than the intrinsics code.

Fig. 5 :

 5 Fig. 5: Performance of Cholesky on SKX, EPYC and Power8 machines, mono-core Both Eigen and the classic routines of MKL are slower than our scalar AoS code and are barely visible on the plots. The "compact" routines of MKL are faster, but still much slower than the SIMD version.On SKX, the scalar SoA performance drops from 9×9 matrices. This is due to the compiler icc that stops vectorizing the unwound scalar code from this point.On all tested machines, the scaling is strong with a parallel efficiency 2 above 80%.

Fig. 6 :Fig. 7 :

 67 Fig. 6: Incremental speedup of the Kalman filter

TABLE I :

 I Arithmetic Intensity (AI)

	version	flop	load + store	AI
	classic	1 6 2n 3 + 15n 2 + 7n

TABLE II :

 II Benchmarked machines

	CPU	full name		ISA	frequency (GHz)	cores/threads	SIMD width #FMA	SIMD SP parallelism (FLOP/cycle)	cache (KB) per core per CPU L1 L2 L3
	HSW	E5-2683 v3 a		AVX2	2.0	2× 14/28	256	2	32	32	256	35840
		i9	i9-7900X a		AVX512	3.3	10/20	512	2	64	32	1024	14080
	SKX	Platinum 8168 a		AVX512	2.7	2× 24/48	512	2	64	32	1024	33792
	EPYC	EPYC 7351P b		AVX2	2.4	16/32	256	1	16	32	512	65536
	A72	Cortex A72 c		Neon	2.4	2× 32/32	128	1	8	32	256	32768
	Power8 Power 8 Turismo d	VSX	3.0	4/32	128	2	16	64	512	8192
	a Intel	b AMD	c ARM	d IBM
		30				unroll&jam x1 unroll&jam x2
						unroll&jam x4
						SIMD 256
	Gflops	20				SIMD 256 fast SIMD 256 fastest SIMD 256 legacy
						SIMD 256 unwind
		10				SIMD 256 unwind fast
						SIMD 256 unwind fastest
						SIMD 256 unwind legacy
		0	solve

TABLE III :

 III Rough comparison with State-of-the-Art Kalman filters for HEP Timing of other implementations have been estimated from their article

	Implementation	steps	cycle/iter
	our code (4×4)	FWD	44
	our code (5×5)	FWD	74
	CMS (5×5) FWD+BWD+smooth	520
	CBM (5×5) FWD+BWD+smooth	550
	LHCb (5×5) FWD+BWD+smooth	1440

https://gcc.gnu.org/bugzilla/show bug.cgi?id=82074

The parallel efficiency is defined as the speedup of the multi-core code over the single core code divided by the number of cores.

SIMD wrappers in C++ are much longer to compile than plain C with intrinsics. The biggest file took more than 30 hours and required more than 10 GB of memory to compile. Thus, it was decided to stop the generation of unrolled code for matrices bigger than 12×12.

E. Benchmarks 1) Benchmark protocol:

In order to evaluate the impact of the transforms, we used exhaustive benchmarks.

The algorithms were benchmarked on six machines whose specifications are provided in Table II.

On x86, the code has been compiled with Intel icc v18.0 with the following options: -std=c99 -O3 -vec -ansi-alias. The time is measured in cycles with _rdtsc().

On other architectures, gcc 7.2 has been used with the following options: -std=c99 -O3 -ffast-math -fstrict-aliasing.

Time

is measured with clock_gettime(CLOCK_MONOTONIC, . . . ).

In all the cases, the code is run multiple times with multiple batch sizes, and the best time is kept.

The plots use the following conventions: • scalar: scalar code. The SoA versions are vectorized by the compiler though. • SIMD: SIMD intrinsics code executed on the machine.

• unwind: inner loops unwound+scalarized (ie: fully unrolled).

• legacy: no reciprocal storing (base version).

• fast: use of fast square root reciprocal estimation.

• fastest: "fast" without any accuracy recovering.

• ×k: order of the outer loop unrolling (unroll&jam)

We focus our explanations on the HSW machine and single precision as the accuracy is enough. See [START_REF] Lemaitre | Cholesky factorization on simd multi-core architectures[END_REF] for the analysis of the double precision computation. All the machines have similar behaviors unless explicitly specified otherwise.

We first present the impact of the transforms on performance. Then, we compare our best version written in intrinsics with SIMD wrappers and MKL [START_REF] Mkl | Intel(R) math kernel library[END_REF]. Finally, we show the performance on multiple machines.

We focus on 4×4 Kalman filtering in order to validate the implementation while keeping a representative filter. However, the code is not limited to 4×4 systems and actually supports all sizes. The filtered system is an inertial point in 2D with the following state: (x, y, ẋ, ẏ).

B. Transformations

All transformations applied to Cholesky Factorization have been tested on Kalman Filter. A few other optimizations have been implemented and tested: algebraic optimizations and memory access optimizations.

1) Algebraic optimizations: When optimizing an algorithm like Kalman filtering, one can try to optimize the mathematical operations.

The first thing to consider is avoiding the recomputation of temporaries that are used several times. For the Kalman filter from algorithm 3, it is possible to keep the temporary product P H (line 4) to compute K (line 5).

It is also possible to keep S in its factorized form and expand the expression of K in the expression of x and P : algorithm 4. This ends up being less arithmetic operations as long as matrix-vector products are preferred over matrixmatrix products.

Algorithm 4: Kalman filter Optimized in/out : x, P // state, covariance input : u, z // control, measure input : A, B, Q, H, R // Parameters of the Kalman filter // Predict

2) Memory access of symmetric matrices: One can save many memory loads and stores by accessing only half of the symmetric matrices. Indeed, those matrices are used a lot within Kalman filtering for covariance matrices.

When the matrices are in AoS, accessing only half of a symmetric matrix decreases a lot the vectorization efficiency, especially with small matrices. Indeed, the pattern to access the near-diagonal elements is not regular.

However, when matrices are in SoA, there is no such penalty as we always load entire registers. Therefore, the vectorization efficiency is the same as for square matrices, except with fewer operations and memory accesses.

C. Benchmarks 1) Benchmark protocol: We use essentially the same protocol to test our Kalman filter as for the Cholesky factorization. The Kalman filter considered has a 4-dimensional state space (x, y, ẋ, ẏ). Many of these systems are tracked together. The time is measured per iteration. The plots use the same conventions as for Cholesky, plus these extra:


Caroline Huyard
email: c.huyard@orange.fr

importance of non-medical information

Keywords: prenatal diagnosis, prenatal testing, information needs, information, decision making, Down syndrome, fragile X syndrome prenatal diagnosis, prenatal testing, information needs, information, decision making, Down syndrome, fragile X syndrome

Decision making after prenatal diagnosis of a syndrome predisposing to intellectual disability: What prospective parents need to know and the importance of non-medical information

Caroline Huyard

Introduction

It is acknowledged that women and their partners need to be provided with relevant information when undergoing prenatal testing both for ethical reasons related to informed choice and for obvious practical reasons related to the nature of the decision following a positive diagnosis, for a chromosomal condition such as Down syndrome, or a congenital condition such as spina bifida. The type of information that health professionals should provide to facilitate decision making after such a diagnosis remains largely unknown. Indeed, researchers have predominantly investigated decisional needs before the prenatal tests [START_REF] Durand | Information and decision support needs of parents considering amniocentesis: Interviews with pregnant women and health professionals[END_REF][START_REF] Hsieh | What are pregnant women's information needs and information seeking behaviors prior to their prenatal genetic counseling[END_REF][START_REF] St-Jacques | Decisional needs assessment regarding Down syndrome prenatal testing: A systematic review of the perceptions of women, their partners and health professionals[END_REF], which are complex technical procedures, and therefore difficult to explain to laypersons.

Regarding the final decision (i.e., once testing has yielded a positive result), existing studies have been focused on determining its explanatory factors. Quantitative approaches have highlighted the importance of the condition for which testing occurred [START_REF] Drugan | Determinants of parental decisions to abort for chromosome abnormalities[END_REF]Zlotogora, 2002), maternal age [START_REF] Britt | Determinants of parental decisions after the prenatal diagnosis of Down syndrome: Bringing in context[END_REF][START_REF] Kramer | Maintaining equilibrium: A grounded theory study of the processes involved when women make informed choices during pregnancy[END_REF], the pregnant woman's concern for the unborn child but also for herself [START_REF] Korenromp | Maternal decision to terminate pregnancy in case of Down syndrome[END_REF], the future parents' knowledge of relevant health services, which seems to take precedence over their knowledge of disability (Roberts, Stough, & Parish, 2002). In addition, researchers have relativised cultural differences and highlighted the existence of significant individual differences [START_REF] Hewison | Attitudes to prenatal testing and termination of pregnancy for fetal abnormality: A comparison of white and Pakistani women in the UK[END_REF]. These findings are consistent with the results obtained by qualitative approaches, which point towards emotional dimensions related to a tension between a commitment to the pregnancy and a desire to protect the child, the couple, and the family from the hardship of disability [START_REF] Bijma | Decision-making after ultrasound diagnosis of fetal abnormality[END_REF]Levy, 1999), the impact of a direct experience of the condition [START_REF] France | How personal experiences feature in women's accounts of use of information for decisions about antenatal diagnostic testing for foetal abnormality[END_REF], and a concern for the quality of life of the unborn child [START_REF] Ahmed | Decisions about testing and termination of pregnancy for different fetal conditions: A qualitative study of European white and Pakistani mothers of affected children[END_REF].

Beyond these individual emotional dimensions, the data available about pregnancy termination after a positive diagnosis outline the role of national contexts [START_REF] Boyd | Survey of prenatal screening policies in Europe for structural malformations and chromosome anomalies, and their impact on detection and termination rates for neural tube defects and Down's syndrome[END_REF] and suggest that non-medical, cultural, and institutional aspects may be worth considering.

For instance, in 2006, pregnancy termination following a congenital anomaly diagnosis was more than three times higher in France (33%), which is the second highest level in Europe after Spain, than in Germany (9%), which is the lowest level in Europe among countries where termination is legal, and twice as high as in Belgium (15%), the latter matching the average European level of 18% [START_REF] Ville | Parental decisions to abort or continue a pregnancy with an abnormal finding after an invasive prenatal test[END_REF].

Lastly, the influence of a direct or indirect experience of the corresponding disability, a neglected aspect, was recently the object of promising studies that have investigated the way an "experiential" knowledge of the relevant disability is spontaneously put to use in the context of prenatal testing [START_REF] Etchegary | The influence of experiential knowledge on prenatal screening and testing decisions[END_REF][START_REF] France | How personal experiences feature in women's accounts of use of information for decisions about antenatal diagnostic testing for foetal abnormality[END_REF]. These studies included the utility of women and their partners accessing personal testimonies of people with a disability in order to be able to make an informed choice [START_REF] Ahmed | Balance' is in the eye of the beholder: Providing information to support informed choices in antenatal screening via Antenatal Screening Web Resource[END_REF].

The results of these studies suggested that non-medical information might play a crucial role in parents' decision to continue or terminate a pregnancy after a positive diagnosis. This area of research is worth developing in order to check whether such information could be useful, and what it should comprise.

The inquiry presented here took a specific perspective by interviewing parents who have a child with a congenital syndrome that predisposes to intellectual disability, regardless of whether they underwent prenatal testing. This approach made it possible to address a situation where interviewees have a very direct experience of the consequences of the decision to continue a pregnancy, whether they have actually made such a decision or not.

Thus, interviewees are able to take a different view of the information they believe they would have needed at the time, had they had to make such a decision. The aim of this study was to explore the kind of information parents, whose child has an intellectual disability, considered important and useful to them for making a decision in case of prenatal diagnosis.

Methodology

The inquiry was part of a larger project that investigated the problems and requirements of recognition of people with an intellectual disability, in the sense of the German concept of Anerkennung [START_REF] Honneth | The struggle for recognition: The moral grammar of social conflicts[END_REF], which is actually closer to the ideas of appreciation and approval. In other words, the overarching question of this larger project was: What makes it possible for people to appreciate and support their fellow citizens who have an intellectual disability? Given the contemporary organisation of procreation and birth, this recognition issue had to be addressed in this study for a very early stage of life. This inquiry covered three countries: Belgium, France, and Germany.

The interviewees were recruited through self-help groups of parents whose young or adult children have an intellectual disability, or through professionals working in schools or residential centres for people with intellectual disability, with a total of eight different groups and five different professionals. Each group and professional person was sent a letter describing the research project and interview procedure. Then they circulated the letter with an invitation to potential participants to reply directly to the research investigator, who would conduct the interviews. In this letter, the interviewees were told that they were free to interrupt or terminate the interview whenever they wanted and to not answer certain questions if they did not want to without having to provide any explanation. They were told that their data would be handled confidentially and would remain anonymous. In the quoted interviews, each child's first name was systematically replaced by the most common first name for children of the same sex and age in her country. The interviewees were reminded about these points a second time just prior to the interview and asked if they agreed with them. Their agreement for the procedure was then recorded. None of the institutions, where the research was conducted, required a formal ethical approval. The appropriate procedure to protect the interviewees was instead defined in the French and German law, respectively, in the Code de la Santé Publique, art. L 1122Publique, art. L -1 (2004)), and in the Code Pénal, art. L 223-15-2 (2000), and in the Bundesdatenschutzgesetz, § 3 and § 4 (1990), and the Strafgesetzbuch, § 291 (1997). In Belgium and France the interviews were held in French, and in Germany, in German. According to the interviewees' wishes, interviews were either conducted at their home or by phone. The interviews were semistructured, audio-recorded, and transcribed.

Using a 30-item guide, the interviewer addressed four main topics: (a) discovery of the syndrome, (b) parenting practices, (c) moral feelings regarding the child's behaviour, and (d) personal dimensions of the experience of having such a child. This last topic facilitated investigation of what decision interviewees would have made during the pregnancy if they had received the diagnosis at that time, although, with four exceptions, interviewees were not confronted with such a decision.

The study was based on 33 interviews conducted in Germany (13 interviews), France (12 interviews), and Belgium (eight interviews) between 2008 and 2010 among women, men, or couples who had at least one child with either fragile X syndrome (15 interviews), Down syndrome (15 interviews), Williams syndrome (two interviews), or a congenital diaphragmatic hernia (one interview). Prior to their child's diagnosis, parents of children with fragile X syndrome were not aware of other cases in the family. The interviewees were predominantly women (25 interviewees), but there were eight male interviewees (25% of the interviewees). Four (12%) of the interviewees had experienced a prenatal diagnosis; that is, in three cases the pregnancy was continued, and in one case it was terminated because the couple already had a child with an intellectual disability. The recruitment of the interviewees was carried out sequentially, in order to obtain a sample that was representative of the general population of each of the three countries in terms of the participants' professional occupation. However, unavoidably, the interviewees were somewhat more educated and skilled than the general population.

<Please insert Table 1 about here>

Other important characteristics of the interviewees that could have been expected to play a role in decision making are age of the mother at the time of the birth of her child with a disability [START_REF] Britt | Determinants of parental decisions after the prenatal diagnosis of Down syndrome: Bringing in context[END_REF][START_REF] Kramer | Maintaining equilibrium: A grounded theory study of the processes involved when women make informed choices during pregnancy[END_REF], marital status, and rank of the child amongst siblings (Levy, 1999). These characteristics are summarised in Tables 2, 3, and4 Strauss, 2008). The coding process started by labelling "a distressing decision" regarding pregnancy continuation or termination, and accordingly investigated what caused this distress. Coding the data with respect to the decision making highlighted the importance of three types of information, namely: (1) the foetus as a future child and individual person; (2) the couple as future parents; (3) the social environment of the future child and her parents, and especially the capacity of this environment to support them. Currently, none of these three types of information is available to parents at the time of the decision.

Findings

The sociodemographic dimensions presented in Table 1, 2, 3, and 4 did not account for differences between the interviewees. Instead, the key reasons for the decision they would have taken related to informational needs and issues. Reflecting on the experience of bringing up a child with intellectual disability, the interviewees concluded that three main types of information would be needed by prospective parents in order to make the decision to continue or to terminate a pregnancy after a prenatal diagnosis: (1) the foetus as a future child and individual person; (2) the couple as future parents; (3) the social environment of the future child and her parents, and especially its capacity to support them. The interviewees' justifications varied, depending on whether they believed they would have continued or terminated the pregnancy or whether this remained an impossible decision for them. These three categories of information are presented in relation to the decision the interviewees retrospectively think they would have made.

Continuing the pregnancy: Parenting first and foremost means accepting the children, whatever their medical characteristics

Thirteen parents stated that, had they known about their child's syndrome at a prenatal stage, they would have continued the pregnancy. Four parents had experienced this situation: their child's syndrome was diagnosed during the pregnancy and they had kept the baby in three cases, and one mother wished she had not terminated a pregnancy.

In most of these interviews (10 of 13), the justifications referred to a personal view of what parenting is and implies, namely, to accept children as they are (five interviews), and to the desire of having a child and accepting him or her however he or she may be (five interviews). Parenting is the key issue. Three interviewees provided slightly different justifications. In two interviews, the parents considered that even though their child has a syndrome that hampers her or his learning ability, this was not serious enough to justify a pregnancy termination. In a third interview, a mother explained that she gradually discovered her own ability to care for her child. Her inability to provide this care would have been the justification for termination of the pregnancy.

The view of parenting that supports pregnancy continuation for these parents is sometimes related to religious belief, as was the case for three interviewees. However, such a view was also expressed without any religious reference in two interviews, as demonstrated by this woman (France) whose 6-year-old son has fragile X syndrome: I cannot say whether I would have let Thomas go away or not, I cannot say that now.

To make a guess, I would say no, no, it would be no. Thomas would have had an ear missing or an arm missing, it would have been no. Thomas is Thomas.

The importance of the decision of having or keeping a child is best illustrated by two interviewees who were told that their child had Down syndrome, as they were themselves in complicated situations (i.e., out of a stable relationship in one case and affected by a still developing but potentially very serious illness in the other case). These interviewees decided to continue the pregnancy. The circumstances of their pregnancy had led them to ask themselves if they wanted to keep the child or not. They had chosen to keep the child, and did not change their mind when they received the diagnosis for Down syndrome. This woman from Germany whose 3-year-old daughter has Down syndrome explained: She was not really a desired child. And so the question arose, before I even knew she had Down syndrome, to keep this child or not. I said yes. Then she was diagnosed with Down syndrome. And this took me back to the same question. And I thought in the end … 1 Who am I to decide if this child will live or not? I'm only a human being.

These justifications for the continuation of the pregnancy do not take into account the medical information that may have been provided through prenatal diagnosis. These interviewees either unconditionally decided to have a child, which many of them expressed by saying "we take children as they come," or they considered that the issues to be taken into account were the "the foetus as an individual child," "being able to cope as a couple and as parents," and "being provided assistance."

The importance of the foetus as an individual child is apparent in the case of a man (Germany) whose 14-year-old daughter was diagnosed with a congenital anomaly during the second trimester of pregnancy. To help this couple in their decision, the question they needed an answer to was the future of this particular child and not the syndrome:

For one thing, a friend […] called my wife and said, 'ask the child in your belly if she wants to live.' And just then, the child […] protested loudly; that is, she kicked and fidgeted thoroughly. Then, the evening before the day when we had to decide if we would continue or interrupt the pregnancy, I said, 'Big Boss, I can't make the decision. I'm lost, so give me a sign.' It had really nothing to do with morals. I said, 'if the child must live, then tomorrow morning, before 7 a.m., send a doctor who will tell my wife that we should continue the pregnancy.' And on the next day, at 8 a.m., I called my wife at the hospital and she told me that at 7 a.m., the doctor had told her, 'forget about the abortion. I've the feeling that it will be all right with the child.' And we said, 'okay, fine. We'll do that and accept it.'

The second crucial theme for the interviewees was their ability to cope as parents. It is highlighted here by a woman (Germany) whose son, born in 1991, was diagnosed very early with fragile X syndrome, at a time when she was pregnant for a second time. Prenatal diagnosis was therefore performed very swiftly:

[The doctors] said that the child would certainly be more seriously affected than Kevin, which was an additional shock. I had to make a decision relatively quickly.

And the father said at the time that he did not want another disabled child, he felt he wouldn't be able to cope. And so, I let myself be influenced, because apart from of Lastly, the interviewees expressed concern for the assistance provided by a range of social institutions for parents of children with disability, especially dedicated schools, homes, and workplaces. This was a major issue for this woman (France) whose 23-year-old son has Williams syndrome:

As I often say, medicine has made progress, and nowadays makes it possible for children with some difficulties, children who would not have lived, to live. But society has made no progress! Because society takes care of the children until they're 18-20 year old, and then, there's no money, no more school, and we're told to manage by ourselves. This is why, sometimes, I say, we'd better not bear them. It's hard.

Medical information was not considered very important for decision making by these interviewees. Neither was it for the interviewees who said they would have taken the opposite decision.

Terminating the pregnancy: When the lack of social support turns maternal parenting into too heavy a burden

Eight parents noted that had they known about their child's syndrome at a prenatal stage, they would have terminated the pregnancy. In six of these interviews, the common justification was that the essential support, needed by the parents to bring up the child with intellectual disability, was not appropriate; the type of support was different from one interview to another, and two interviewees provided no justification. Six interviewees were not concerned about the foetus as an individual child but worried deeply about their ability to cope as parents and the social environment of the child with respect to the capacity of this environment to support the child after their death. Some female interviewees connected their ability to cope as parents to the support available from the child's father, although the seven female interviewees who brought up their child alone did not all say that they would have preferred terminating their pregnancy because this support was not available. In two interviews, however, this was the case, as a woman (Belgium) whose younger son, aged 27, has fragile X syndrome explained: Ah, I wouldn't have kept him. Maybe you can't see it now, but well, I had to cope with quite a lot of things all alone. It's not … I don't know if it's actually much easier, people say it is not much easier when people cope as a couple, because when one says black, the other says white. Maybe. But in a couple, you're two people, and you can help each other, carry each other, when there's two of you …

The interviewees shared an anxiety about what their children's life will be like as adults and especially after their parents' death. An appropriate, supportive, social environment is a key concern for decision making. Two of the interviewees refer to this anxiety when making a case for pregnancy termination, such as this woman (France) These issues, coping as a couple and a supportive social environment, intertwine in more particular personal situations or views. One of the interviewed women (France) has to look after her ailing father as well as her sister who also has an intellectual disability. This interviewee explained that because of this family responsibility, she would have preferred to avoid having a son with a disability. Another woman (Germany) said she would have terminated the pregnancy, firstly, "for her" and, secondly, for her 34-year-old son, whom she considers a burden and whose life she views as not worthwhile. She was divorced at the time of the interview, and said her husband had always borne the bulk of the education of their two children. This view relates both to the ability to cope and to the social environment, as it is apparent in her explanations: I would have aborted. Well, I would say, for me. For me. But in the first place, for him, because, as I often say, what happens to him, when his parents are not there anymore? And his sister doesn't want to have anything to do with her brother. I always wonder, what happens to these children when the parents are not there anymore? What do they feel, if they feel anything? I don't know. We can express what we want to do. But they are always told to do this and that. What kind of life is it? Is it worth it? So, had I been able to, I would have aborted, full stop. These justifications did not take medical information, which may have been provided through prenatal diagnosis, into account. The questions that parents feel they are confronted with are different: they relate both to a supportive social environment, especially with respect to the child's future, and to their own capacity to bring up such a child.

Remaining irresolute: When the essential information for making a decision is not available

Lastly, 12 interviewees were unable to say whether they would have continued with the pregnancy or not. In these interviews (except for one, where the interviewee provided no justification), these parents' indecision resulted from their being acutely aware that the information they considered as essential to make this decision was not available.

The first fundamental element of missing information is, according to two interviewees, the personality and the individual abilities of the child. At the time of the interviews, these parents had learnt a lot about their child, and not only that he or she had a particular syndrome, but also that they had often had the opportunity to notice that two persons with the same syndrome were very different and had different abilities. As a woman (France) A second crucial element, mentioned by seven interviewees, related to the parents' ability for parenting. Had they known about the syndrome during pregnancy, they believe they would have been plagued by fear, considering themselves either unable to meet the child's emotional, affective, and educational needs, or to face this unknown situation. The interviewees reported that this fear, which they somehow experienced when the child was diagnosed, disappeared as the child grew and as they realised they were actually able to cope. However, this information was not available for a decision at the time of pregnancy. For instance, the concern for what life would be like with such a child was an issue for a man (Belgium) whose 16-year-old son has Down syndrome: Imagine we're back to the starting point, and we don't know what we know now, I think we would not have been through. Now, with what we have experienced, finally, I would say it is not as complicated as one could have thought. And I think there would have been no worries The ability to cope was also a major question for this woman (France) whose 17-yearold son has Down syndrome: I did not know, and I did without knowing. Besides, I'm sure there are lots of things that we don't know. We don't know what we are up to, how resourceful we actually are … I think, these nine months, I don't know … Maybe I would have reacted well, maybe I would have done things differently … But I had nine months of happiness, and Kevin had nine months of happiness too, nobody asked any questions. Because when I see … I see my little daughters-in-law and their pregnancies, it was really medicalised. And I see some of my colleagues who had tests, they suspected there was something wrong, it is incredibly distressing. I think … It scares me. It's exaggerated.

Because I mean, anyway … I do not think this is denial, I mean, if you look at life with a certain perspective, everything is so risky that you no longer feel up to anything.

The contrast between the interviewees' ignorance about the essential elements for decision making at prenatal stage and the way these elements became naturally available over the years builds the core of the dilemma parents face with prenatal testing.

Anxieties regarding the quality and the availability of institutional support were quite present, as exemplified by this woman (France) whose 14-year-old daughter has fragile X syndrome: I don't know, I really don't know. [...] When you've got children, you look at how well they do at school. And then, they say 'I'd like to do this' or 'I'd prefer to do that job.' But I say, my daughter has no choice [she pauses]. People will decide for her.

They will impose decisions on her. [With tears in her eyes] I stopped my studies, because I didn't want to continue! But she cannot decide. She cannot. I'm sure that when she's 20, she'll have to go either in a home for disabled people or in a specific workplace. But you can't get a job without relationships, so, she'll have no choice, and she'll have to go in a home. There's no hope. No hope.

This highlights that prenatal decision making rests on a major contradiction. Over the years following the child's birth, parents have gained information that would have enabled them to decide, with confidence, about the pregnancy. However, the problem they face and ultimately cannot solve is the fact that they would actually have been forced to decide without this information.

Discussion

The findings are the result of a study that covers two syndromes in three countries, which ensured that the findings did not relate to only one particular syndrome or national context.

The interviews were performed at a time when the interviewees were no longer in a situation of distress resulting from diagnosis disclosure and could reflect upon their past experience.

The findings of this study support the insight that non-medical information is a decisive factor in decisions about the continuation or termination of a pregnancy after a positive diagnosis for a syndrome that predisposes to intellectual disability. The identified informational needs are consistent with the results of different qualitative studies about decision making at the prenatal testing stage. Some studies highlighted the influence of the future quality of life of the unborn child [START_REF] Ahmed | Decisions about testing and termination of pregnancy for different fetal conditions: A qualitative study of European white and Pakistani mothers of affected children[END_REF], which relates to the need for information about the child as an individual person, as identified in this study. Some researchers underlined the influence of the self-interested motives of the prospective mother [START_REF] Korenromp | Maternal decision to terminate pregnancy in case of Down syndrome[END_REF], which relates to the informational need about the prospective parents as parents identified here. Lastly, other studies highlighted the influence of the prospective parents' knowledge of relevant health services [START_REF] Roberts | The role of genetic counseling in the elective termination of pregnancies involving fetuses with disabilities[END_REF], which relates to the informational need about the available support for the future family as identified in this study. In addition, the views expressed by interviewees match the respective national statistics; the German interviewees said they would have continued the pregnancy more often than the French and the Belgian interviewees [START_REF] Ville | Parental decisions to abort or continue a pregnancy with an abnormal finding after an invasive prenatal test[END_REF].

The number of interviewees who said they would have continued the pregnancy (13) may seem high in comparison with the number of interviewees who said they would have terminated the pregnancy (eight). It is therefore necessary to investigate if a post hoc rationalisation could have taken place (i.e., if some parents who have and live with a child with a disability have tried to reduce a cognitive dissonance and provided a biased answer).

Fortunately, the data allowed us to compare the answers of parents who said they would have kept the child if they had known about the syndrome at the prenatal stage with the answers of parents who did know about the syndrome and kept the child. It appears that the typical justification tends to be the same: when the decision to have a child has been made, the characteristics of the child are not important. Thus, a father who had to make a decision at the prenatal stage explained: When I work with people, I don't work with percentage. I say: 'it is your decision, you have to put up with making a decision, and you have to make your own decision.

[…] No mathematics, no study, no scientific book will help you. It's your own decision. That's what my daughter taught me.

Similarly, a mother who did not have to make such a decision said: "Statistics are complex, and for the parents, it does not change much. An accident can always happen.

Those who don't accept risks should not have children!" The point in this study is not to know what people would actually have done, but to find out what they would base their decision on. The similar line of reasoning of these two categories of parents within the group of interviewees, who said they would have kept the child, is, in this perspective, reliable.

The importance of the three types of non-medical information has crucial theoretical implications for the decision-making process. This finding highlights that an appropriate recognition theory should consider as crucial the failure to identify the decisive role of the person who "recognises" and the social environment where the recognition takes places, and not so much the characteristics of the "recognised" person. This is consistent with previous studies, although here a different perspective was adopted with different implications. A number of disability studies have criticised the views that focus on individual medical characteristics and insist on the social dimensions of disability [START_REF] Asch | Prenatal diagnosis and selective abortion: A challenge to practice and policy[END_REF][START_REF] Parens | Disability rights critique of prenatal genetic testing: Reflections and recommendations[END_REF]. The main finding of this study goes further and suggests how important it is to describe and analyse the support needed by those who have to care for people with a disability. Empowering these caregivers is a stepping stone towards recognition of people with a disability, in addition to being a major practical concern. This point is particularly apparent in the group of interviewees who said they would have terminated the pregnancy; the majority of them referred to a lack of social support on which to ground this decision. The caregivers' needs are most important since traditional explanatory factors such as the parents' professional background, the mother's age or matrimonial status did not appear to play an important role in this study. The parents' needs seem to be related to very individual situations and individual biographies.

Ten interviewees reported that their main concern at the time of the disclosure of the diagnosis related to what their child would be able to do as an adult. This is the only piece of information they asked medical professionals about. Yet this, unfortunately, is a question that could not be answered. Other essential information, however, could be provided. This study supports the view that expectant parents need information regarding available social support as well as their own ability to cope. This has important practical implications. Meeting the prospective parents' informational needs requires data that cannot usually be provided by medical staff and is rarely available during pregnancy since it relates to a future state of the individual child and of the parents and, to a lesser extent, of society. This finding supports the view that it could be useful for professionals and lay people, who are familiar with the everyday life aspects of disability, to assist medical staff by bridging the traditional divide between perinatal medicine and disability policies [START_REF] Ville | Parental decisions to abort or continue a pregnancy with an abnormal finding after an invasive prenatal test[END_REF]. Prospective parents need to be provided with information about the life of a family with a child who has the corresponding syndrome in order to substantiate their own reflections about the child, themselves, and the available social support. Such information could be based on a range of testimonies covering different and contrasting experiences, as well as different aspects of daily life, including statistical data about the development of the child's abilities as they grow up. Today's digital technologies make access to a range of information possible, and users can choose the type and the amount of information they wish to have, according to their own needs.

  my parents and Kevin's father, I have nobody. I said okay, maybe it is better not to keep the child. And I must say that I immensely regret it. I have regretted it to this day, because finally …Why [should I have not kept the child]? […] Of course, it would have been different. But Kevin would have had a brother! This would have been good. I have very often thought, my God, even with a second child, I'd have made it. Sure, I would have had to restrict myself. It would have been difficult, but he would have had a brother! And that, I really … Well … Yes. I regretted it.

  , whose 12-year-old daughter has Down syndrome: I would abort. Sure. […] It wouldn't be because of the everyday difficulties, although they exist and we have a different life. But the biggest issue for me, it's what happens to these children after their parents' death, what their future will be like. That's what I'm afraid of. And that's why, if I had the choice now, and if I had had the choice, I would have aborted.

  with a 32-year-old daughter with Down syndrome explained: Now, since Stephanie is actually what she is, I would tend to say, I did well [to continue the pregnancy]. But when you see other people with Down syndrome who have other problems, who are in much worse situations … I think … It's a difficult choice. […] Today, Stephanie is thirty-two, I can see how far she has gone in life, so I see things differently. A man (Belgium) whose 16-year-old daughter has Down syndrome similarly insisted on the importance of the child's personality: It's difficult to go back in time and say what I would have done. Now … I lived with my daughter, and I would not like a different life. I'm happy that I had Laura and not another child. […] Because I've changed. I see things differently now. I have lived with Laura, I have met people with a disability, so the way I see things has changed.

  . <Please insertTable 2 about here> <Please insert Table 3 about here> <Please insert Table 4 about here> Data analysis was performed using classical grounded theory methods (Corbin &

Table 1 . Professional occupation

 1

	Number of interviewees	Percentage of interviewees

Table 2 . Age of the mother at the time of the birth and age of the child at the time of the inquiry

 2 Age of the mother at the time of the birth

		Number of	Percentage of	Age of the child	Number of	Percentage
		interviewees	interviewees		children	of children
	20-25 years	5	16	Less than 7 years	4	11
	26-30 years	9	29	7-11 years	7	19
	31-35 years	10	32	12-20 years	19	51
	36-40 years	7	23	Older than 20	7	19
	Total	31	100	Total	37	100

Table 4 . Rank of the child with a disability amongst siblings

 4

	Number of children	Percentage of children

Acknowledgements

I am grateful to Nick Jones for proofreading this text, and to two anonymous reviewers, whose comments strongly contributed to improve the manuscript. I very warmly thank all the interviewees for their contribution.

Code de la Santé Publique, art. L 1122Publique, art. L -1 (2004)). Retrieved from http://www.legifrance.gouv.fr Code Pénal, art. L 223-15-2 (2000). Retrieved from http://www.legifrance.gouv.fr Corbin, J., & Strauss, A. (2008). Basics of qualitative research: Techniques and procedures for developing grounded theory (3rd ed.). Thousand Oaks, CA: Sage.

… is used when the interviewee did not finish the sentence or paused briefly.

Author note

This research project was supported by a Marie Curie Intra European Fellowship within the 7th European Framework Programme and by the Maison des Sciences de l'Homme and the Thyssen Stiftung through a joint Clemens Heller grant. The funding bodies have imposed no restriction on free access to or publication of the research data. The author declares no financial and nonfinancial conflict of interest.


Emmanuel Flachaire

Guillaume Hollard

Model Selection in Iterative Valuation Questions by

Keywords: starting point bias, preference uncertainty, contingent valuation JEL Classification: Q26, C81

, outperforms other standard models and confirms that, when uncertain, respondents tend to accept proposed bids.

Introduction

The NOAA panel recommends the use of a dichotomous choice format in contingent valuation (CV) surveys [START_REF] Arrow | Report of the NOAA panel on contingent valuation[END_REF]. To improve the efficiency of dichotomous choice contingent valuation surveys, follow-up questions are frequently used. While these enhance the efficiency of dichotomous choice surveys, several studies have found that they yield willingness-to-pay estimates that are substantially different from estimates implied by the first question alone. This is the so-called starting point bias. 1 Many authors have proposed some specific models to handle this problem [START_REF] Herriges | Starting point bias in dichotomous choice valuation with follow-up questioning[END_REF][START_REF] Alberini | Modeling response incentive effects in dichotomous choice valuation data[END_REF][START_REF] Deshazo | Designing transactions without framing effects in iterative question formats[END_REF][START_REF] Whitehead | Incentive incompatibility and starting-point bias in iterative valuation questions[END_REF][START_REF] Cooper | One and one-half bids for contingent valuation[END_REF][START_REF] Lechner | A modelisation of the anchoring effect in closed-ended question with follow-up[END_REF][START_REF] Flachaire | Controlling starting-point bias in double-bounded contingent valuation surveys[END_REF].

In [START_REF] Flachaire | Starting-point bias and respondent uncertainty in dichotomous choice valuation surveys[END_REF], we proposed a model, called the Range model, in which individuals hold a range of acceptable values, rather than a precisely defined value of their willingness-to-pay. 2 In the Range model, starting point bias occurs as a result of respondent uncertainty when answering the first question, while existing models assume that starting point bias occurs while answering the second question. 3This paper proposes further tests of the Range model: (1) we test the Range model on another dataset and (2) we test the Range model against most existing models. An additional result of this paper is a clarification of the relation among existing models. It is shown that existing models can be derived from three general ones. In some favorable cases, this allows us to compare the performance of existing models.

The article is organized as follows. The following section presents the Range model. The subsequent sections present other standard models, the interrelation between all the models and an application. The final section concludes.

Range model

The Range model, developed in [START_REF] Flachaire | Starting-point bias and respondent uncertainty in dichotomous choice valuation surveys[END_REF], is a dichotomous choice model which explains starting point bias by respondent's uncertainty. It models the individual decision process, using the principle of "coherent arbitrariness" [START_REF] Ariely | Coherent arbitrariness: Stable demand curves without stable preferences[END_REF],4 and can be estimated from a bivariate probit model.

Decision process

In dichotomous choice contingent valuation with follow-up questions, two questions are presented to respondents. The first question is "Would you agree to pay x$?". The second, or follow-up, question is similar but asks for a higher bid offer if the initial answer is yes and a lower bid offer otherwise. The Range model is based on the following decision process :

1. Prior to a valuation question, the respondent holds a range of acceptable values:

wtp i ∈ W i , W i with W i -W i = δ (1)
where W i is the upper bound of the range.

2. Confronted with a first valuation question, the respondent selects a value inside that range according to the following rule:

W i = Min wtp i |wtp i -b 1i | with wtp i ∈ W i , W i (2)
A respondent selects a value so as to minimize the distance between his range of willingness-to-pay and the proposed bid b 1i . In other words, W i = b 1i if the bid falls within the WTP range, W i is equal to the upper bound of the range if b 1i is greater than the upper bound of the WTP range, and W i is equal to the lower bound of the range if b 1i is less than the lower bound of the WTP range.

3. The respondent answers the questions according to the selected value:

[ ] W i ___ __ Wi { { WTP YES NO { ? x x x b i b i b i
He will agree to pay any amount below W i and refuse to pay any amount that exceeds W i . When the first bid falls within the WTP range, he can answer yes or no (?): we assume in such case that a respondent answers yes to the first question with a probability ξ and no with a probability 1 -ξ.

If respondents always answer yes when the first bid belongs to the interval of acceptable values (ξ = 1), the model is called the Range yes model. If respondents always answer no when the first bid belongs to the interval of acceptable values (ξ = 0), the model is called the Range no model.

Estimation

In [START_REF] Flachaire | Starting-point bias and respondent uncertainty in dichotomous choice valuation surveys[END_REF], we show that the Range model can be estimated from a more general random effect probit model, that also encompasses the Shift model proposed by [START_REF] Alberini | Modeling response incentive effects in dichotomous choice valuation data[END_REF]. If we use a linear model and if we assume that the distribution of WTP is Normal, the probability that the individual i answers yes to the j th question, j = 1, 2 equals to:

M 1 : P (W ji > b ji ) = Φ X i α - 1 σ b ji + λ 1 D j r 1i + λ 2 D j (1 -r 1i ) (3)
where r 1i is the response to the first payment question, D 1 = 0 and D 2 = 1, α = β/σ, λ 1 = δ 1 /σ and λ 2 = δ 2 /σ. Based on this equation, the parameters are interrelated according to:

β = α σ, δ 1 = λ 1 σ and δ 2 = λ 2 σ. (4)
When we use just the responses to the initial payment question (j = 1), this equation simplifies to:

P (yes) = P (W 1i > b 1i ) = Φ X i α - 1 σ b 1i (5)
Moreover, the probability that the individual i answers yes to the initial and the followup questions (r 1i = 1, j = 2) is equal to:

P (yes, yes) = Φ X i α - 1 σ b 2i + δ 1 σ (6)
From the estimation based on M 1 , different models can be considered:

• δ 1 < 0 and δ 2 > 0 corresponds to the Range model (with δ 2 -δ 1 = δ).

• δ 1 < 0 and δ 2 = 0 corresponds to the Range yes model

• δ 1 = 0 and δ 2 > 0 corresponds to the Range no model

• δ 1 = δ 2 corresponds to the Shift model • δ 1 = δ 2 = 0 corresponds to the Double-bounded model.
It is clear that the Range model and the Shift model are non-nested (one model is not a special case of the other); they can be tested through M 1 .

Interpretation

Estimation of the Range model provides estimates of β, σ, δ 1 and δ 2 , from which we can estimate a mean of WTP µ ξ and a dispersion of WTP σ. This last mean of WTP would be similar to the mean of WTP estimated using the first questions only, that is, based on the single-bounded model. Additional information is obtained from the use of follow-up questions: estimates of δ 1 and δ 2 allow us to estimate a range of means of WTP:

[µ 0 ; µ 1 ] = [µ ξ + δ 1 ; µ ξ + δ 2 ]
with δ 1 ≤ 0, and δ 2 ≥ 0.

The lower bound µ 0 corresponds to the case where respondents always answer no if the bid belongs to the range of acceptable values (ξ = 0). Conversely, the upper bound µ 1 corresponds to the case where respondents always answer yes if the bid belongs to the range of acceptable values (ξ = 1). How respondents answer the question when the bid belongs to the range of acceptable values can be tested as follows:

• respondents always answer no corresponds to the null hypothesis H 0 : δ 1 = 0

• respondents always answer yes corresponds to the null hypothesis H 0 : δ 2 = 0.

Interrelation with standard models

Different models are proposed in the literature to control for starting point bias: anchoring bias, structural shift effects and ascending/descending sequences. All these models assume that the second answer is sensitive to the first bid offer. They assume that a prior willingness-to-pay W i is used to answer the first bid offer, and an updated willingness-topay W ′ i is used by the respondents to answer the second bid. It follows that an individual answers yes to the first and to the second bids if:

r 1i = 1 ⇔ W i > b 1i and r 2i = 1 ⇔ W ′ i > b 2i (8)
Each model leads to a specific definition of W ′ i . In the following subsections, we briefly review some standard models, their estimation and the possible interrelations between them and the range model previously defined.

Models

Anchoring model: [START_REF] Herriges | Starting point bias in dichotomous choice valuation with follow-up questioning[END_REF] propose a model where the respondents combine their prior WTP with the value provided by the first bid as follows:

W ′ i = (1 -γ) W i + γ b 1i (9)
The first bid offer plays the role of an anchor: it causes the WTP to come to it.

Shift model: [START_REF] Alberini | Modeling response incentive effects in dichotomous choice valuation data[END_REF] propose a model where the WTP systematically shifts between the two answers:

W ′ i = W i + δ (10)
The first bid offer is interpreted as providing information about the cost or the quality of the object. Indeed, a respondent can interpret a higher bid offer as paying more for the same object and a lower bid offer as paying less for a lower quality object.

Anchoring & Shift model: [START_REF] Whitehead | Incentive incompatibility and starting-point bias in iterative valuation questions[END_REF] proposes a model that combines anchoring and shift effects:

W ′ i = (1 -γ) W i + γ b 1i + δ (11)
In addition, see [START_REF] Aadland | Incentive incompatibility and starting-point bias in iterative valuation questions: comment[END_REF] and [START_REF] Whitehead | Incentive incompatibility and starting-point bias in iterative valuation questions: reply[END_REF] for estimation details.

Framing model: DeShazo ( 2002) proposes de-constructing iterative questions into their ascending and descending sequences. His results show that the answers that follow an initial yes cause most of the problems. He recommends using the decreasing follow-up questions only:

W ′ i = W i if r 1i = 0 (12)
Using prospect theory [START_REF] Kahneman | Prospect theory: an analysis of decisions under risk[END_REF], Deshazo argues that the first bid offer is interpreted as a reference point if the answer to the first question is yes: the follow-up question is framed as a loss and the respondents are more likely to answer no to the second question.

Framing & Anchoring & Shift model: [START_REF] Flachaire | Controlling starting-point bias in double-bounded contingent valuation surveys[END_REF] propose applying anchoring and shift effects in ascending sequences only:

W ′ i = W i + γ (1 -W i ) r 1i + δ r 1i (13)
It takes into account questions that follow an initial yes. Empirical results suggest that gains in efficiency can be obtained compared to the Framing model. Note that this model is not based on the underlying decision process defined in section 2.

Estimation

Implementation of the Anchoring & Shift model can be based on a random effect probit model, with the probability that the individual i answers yes to the j th question, j = 1, 2 equals to:

M 2 : P (W ji > b ji ) = Φ X i α - 1 σ b ji + θ (b 1i -b ji )D j + λD j ( 14
)
where D 1 = 0 and D 2 = 1, α = β/σ, θ = γ/(σ -γσ) and λ = δ/(σ -γσ). Based on this equation, the parameters are interrelated according to:

β = ασ, γ = θσ/(1 + θσ) and δ = λσ(1 -γ). (15)
Implementation of the Anchoring model and of the Shift model can be derived from this last probability, respectively with δ = 0 and γ = 0. The Double-bounded model corresponds to the case δ = γ = 0.

The Framing & Anchoring & Shift model differs from the previous model by the fact that anchoring and shift effects occur in ascending follow-up questions only. Its implementation can be based on a random effect probit model, with the probability that the individual i answers yes to the j th question, j = 1, 2 equals to:

M 3 : P (W ji > b ji ) = Φ X i α - 1 σ b ji + θ (b 1i -b ji )D j r 1i + λ D j r 1i (16)
where D 1 = 0 and D 2 = 1, α = β/σ, θ = γ/(σ -γσ) and λ = δ/(σ -γσ). Based on this equation, the parameters are interrelated according to (15).

Interrelation between all the models

It can be helpful to see the interrelations between all the models. Indeed, some models are nested and thus, we can test a restricted model against an unrestricted model with standard inference based on a null hypothesis. Table 1 shows the restrictions to apply to the probabilities M 1 , M 2 and M 3 , defined in equations ( 3), ( 14), ( 16), in order to estimate the different models. For instance, it is clear that the Shift and the Range models are non-nested, but they are both special cases of M 1 . Thus, a Shift model can be selected against a Range model through the general form M 1 .

Model M 1 M 2 M 3 Double δ 1 = δ 2 = 0 γ = δ = 0 γ = δ = 0 Anchoring δ = 0 Shift δ 1 = δ 2 γ = 0 Anch-Shift n. c. Fram-Anch-Shift n. c. Range δ 1 ≤ 0 ≤ δ 2 Range yes δ 1 ≤ 0, δ 2 = 0 γ = 0

Application

In this application, we use a survey that involves a sample of users of the natural reserve of the Camargue, a major wetland in the south of France. The purpose of the contingent valuation survey was to evaluate how much individuals were willing to pay as an entrance fee to contribute to the preservation of the natural reserve. The survey was administered to 218 recreational visitors during spring 1997, using face to face interviews. Recreational visitors were selected randomly in seven sites all around the natural reserve. The WTP question used in the questionnaire was a dichotomous choice with follow-up.5 For a complete description of the contingent valuation survey, see [START_REF] Claeys-Mekdade | Quelle valeur attribuer à la Camargue? Une perspective interdisciplinaire économie et sociologie[END_REF]. Mean values of the WTP were estimated using a linear model [START_REF] Mcfadden | Issues in the contingent valuation of environmental goods: Methodologies for data collection and analysis[END_REF]. Indeed, [START_REF] Crooker | Parametric and semi-nonparametric estimation of willingness-to-pay in the dichotomous choice contingent valuation framework[END_REF] show that the simple linear probit model is often more robust in estimating the mean WTP than other parametric and semi-parametric models.

The mean and the dispersion of WTP estimated from a single bounded model are: The confidence interval of μ is obtained by simulation with the Krinsky and Robb procedure, see Haab and McConnell (2003, ch.4) for more details.

μ = 113.
Let us consider the following standard models: double-bounded, anchoring, shift, anchoring & shift models. These models can be estimated from M 2 , with or without some specific restrictions, see ( 14). Table 2 As expected, the confidence interval of the mean WTP and the standard error of the dispersion of the WTP decrease significantly when we use the usual double-bounded model (Double) instead of the previous single-bounded model. However, estimates of the mean WTP in both models are very different (89.8 vs. 113.5). Such inconsistent results suggest a problem of starting-point bias. It leads us to consider the Anchoring & Shift model (Anch-Shift) to control for such effects, in which the Double, Anchoring and Shift models are nested. We can compute a likelihood-ratio statistic (LR) to test a restricted model against the Anchoring & Shift model. The LR test is twice the difference between the maximized value of the loglikelihood functions (given in the last column), which is asymptotically distributed as a Chi-squared distribution. We can test the Double model against the Anch-Shift model with the null hypothesis H 0 : γ = δ = 0, for which LR = 10.4. A P -value can be computed and is equal to P = 0.0055: we reject the null hypothesis and thus the Double model. We can test the Anchoring model against the Anch-Shift model (H 0 : δ = 0): we reject the null hypothesis (P = 0.0127). Finally, we can test the Shift model against the Anch-Shift model (H 0 : γ = 0): we do not reject the null (P = 0.1572). From this analysis, the Shift model is selected.

It is interesting to observe that, when we compare the results between the Shift and the Single-bounded models, the confidence intervals and standard errors are not significantly different. This supports the conclusion of [START_REF] Herriges | Starting point bias in dichotomous choice valuation with follow-up questioning[END_REF]: they argue that once we have controlled for the starting-point effect, the efficiency gains from the follow-up questioning can be small.

To go further, we consider a model where anchoring and shift effects occur in ascending sequences, but not in descending sequences (Fra-Anc-Shi). The case with shift effect in ascending sequences (no anchoring) corresponds to the Range model where respondents always answer yes if the initial bid belongs to their range of acceptable values. Thus, we call this last model Range yes rather than Fra-Shi in the table. The models can be estimated from M 3 , with or without some specific restrictions, see ( 16). Estimation results are given in Table 3 If we compute a LR statistic to test the Double model against the Fra-Anc-Shi model (H 0 : γ = δ = 0), we reject the null hypothesis (P = 0.0033). Conversely, if we test the Range yes model against the Fra-Anc-Shi model (H 0 : γ = 0), we do not reject the null hypothesis (P = 0.6547). From this analysis, the Range yes model is selected.

It is interesting to observe that the Range yes model provides efficiency gains compared to the single-bounded and Shift models: confidence intervals and standard errors of the mean and of the dispersion of WTP are smaller. However, the Shift model is selected from M 2 and the Range yes is selected from M 3 : these two models are non-nested and no inference is used to select one model.

Next, we consider the model developed in this article, that considers starting pointbias with respondent's uncertainty. This model can be estimated from a more general model M 1 and corresponds to the case δ 1 ≤ 0 ≤ δ 2 , see (3). An interesting feature of M 1 is that the Double and the Shift model are special cases, respectively with the restrictions δ 1 = δ 2 = 0 and δ 1 = δ 2 . Thus, even if the Range and the Shift models are non-nested, we can test them through M 1 . Estimation results are given in Table 4. The estimation result, obtained with no restrictions, provides δ1 ≤ 0 ≤ δ2 . It corresponds to the case of the Range model and thus, estimation results with no constraints are presented in the line called Range. This result suggests that the Range model is more

: δ 2 = 0).
We do not reject the null hypothesis (P = 0.5270). From this analysis, the Range yes model is selected.

Finally, inference based on M 1 , M 2 and M 3 leads us to select a Range model, where the respondents answers yes if the initial bid belongs to their range of acceptable values6 . This model gives an estimator of the mean WTP close to the single-bounded model (117.0 vs. 113.5) with a smaller confidence interval ([106.7;129.8] vs. [98.1;138.2]) and smaller standard errors (12.8 vs. 17.9). Table 5 presents full econometric results of this model with the single-bounded model. It is clear from this table that the standard errors in the Range yes are always significantly reduced compared to the standard errors in the single-bounded model. In other words, the selected Range model provides both consistent results with the single-bounded model and efficiency gains. Furthermore, we can draw additional information from the Range model. Indeed, from (7) we have: This model provides a range of values, rather than a unique WTP mean value.

From our results, we can make a final observation. Estimation of a random effect probit model with an estimated correlation coefficient ρ less than unity suggests that respondents use two different values of WTP to answer the first and the second questions. This is a common interpretation in empirical studies; see [START_REF] Alberini | Modeling response incentive effects in dichotomous choice valuation data[END_REF]. If we restrict our analysis to the standard models (Double, Anchoring, Shift and Anch-Shift), our results leads us to select the Shift model, for which ρ = 0.63 (significantly less than 1). However, if we consider a more general model M 1 that encompasses the Range and the Shift models, estimation results leads us to select the Range yes model for which ρ = 1 (the estimation does not restrict the parameter ρ to be equal to one, this estimated value equals to one is obtained from an unrestricted estimation). It suggests that respondents

[

Table 1 :

 1

Nested Models (n.c.: no constraints)

Table 2 :

 2 presents estimated means of WTP μ and the dispersion of WTP distributions σ. Standard errors are given in italics and confidence intervals of μ are presented in brackets; they are obtained by simulation with the Krinsky and Robb procedure. Random effect probit models estimated from M 2

	M 2	constraint	mean WTP	disp WTP	anchor	shift	corr.
			µ	c.i.	σ s.e.	γ s.e.	δ s.e.	ρ s.e.	ℓ
	Double	γ = δ = 0	89.8	[84.4;96.5]	52.6 10.0	-	-	0.71 0.16 -177.3
	Anchoring	δ = 0	133.8 [108.4;175.2]	92.0 44.5 0.51 0.23	-	0.78 0.14 -175.2
	Shift	γ = 0	119.4 [105.7;139.7]	69.0 19.9	-	-26.7 9.1	0.63 0.17 -173.1
	Anch-Shift	n. c.	158.5 [122.6;210.7] 100.8 53.5 0.46 0.29 -17.1 13.9 0.73 0.16 -172.1

  .

	M 3	constraint	mean WTP	disp WTP	anchor	shift	corr.
			µ	c.i.	σ s.e.	γ s.e.	δ s.e.	ρ s.e.	ℓ
	Double	γ = δ = 0	89.8	[84.4;96.5]	52.6 10.0	-	-	0.71 0.16 -177.3
	Range yes	γ = 0	117.0 [106.7;129.8] 65.0 12.8	-	-30.7 13.2	1	-171.7
	Fra-Anc-Shi	n. c.	116.4 [104.6;132.7] 65.1 12.8	-0.02 0.41 -31.7 21.2	1	-171.6

Table 3 :

 3 Random effect probit models estimated from M 3

Table 4 :

 4 Random effect probit models estimated from M 1 appropriate than the Shift model, otherwise we would have had δ 1 and δ 2 quite similar and with the same sign. This can be confirmed by testing the Shift model against the Range model (H 0 : δ 1 = δ 2 ); we reject the null hypothesis (P = 0.0736) at a nominal level 0.1. In addition, we test the Range yes model against the Range model (H 0

	M 1	constraint	mean WTP	disp WTP	shift 1	shift 2	corr.
			µ	c.i.	σ s.e.	δ 1 s.e.	δ 2 s.e.	ρ s.e.	ℓ
	Double	δ 1 = δ 2 = 0	89.8	[84.4;96.5]	52.6 10.0	-	-	0.71 0.16 -177.3
	Shift	δ 1 = δ 2	119.4 [105.7;139.7] 69.0 19.9	-26.7 9.1	-26.7 9.1 0.63 0.17 -173.1
	Range	n. c.	126.0 [110.7;147.3] 73.5 21.6	-43.7 27.6	6.5 8.8	1	-171.5
	Range yes δ 1 ≤ 0, δ 2 = 0 117.0 [106.7;129.8] 65.0 12.8	-30.7 13.2	-	1	-171.7

Other response effects could explain the difference between estimates of mean WTP, as framing, respondents assumptions about the scope of the program and wastefulness of the government, see[START_REF] Alberini | Modeling response incentive effects in dichotomous choice valuation data[END_REF] for a dicussion.

This is in line with studies putting forward that individuals are rather unsure of their own willingness-to-pay[START_REF] Li | Discrete choice under preference uncertainty: an improved structural model for contingent valuation[END_REF][START_REF] Ready | Contingent valuation when respondents are ambivalent[END_REF], 2001[START_REF] Welsh | Elicitation effects in contingent valuation: comparisons to a multiple bounded discrete choice approach[END_REF][START_REF] Van Kooten | Preference uncertainty in non-market valuation: a fuzzy approach[END_REF][START_REF] Hanley | What's it worth? Exploring value uncertainty using interval questions in contingent valuation[END_REF][START_REF] Alberini | Analysis of contingent valuation data with multiple bids and response options allowing respondents to express uncertainty[END_REF].

A notable exception is[START_REF] Lechner | A modelisation of the anchoring effect in closed-ended question with follow-up[END_REF]

These authors conducted a series of valuation experiments. They observed that "preferences are initially malleable but become imprinted (i.e. precisely defined and largely invariant) after the individual is called upon to make an initial decision".

The first bid b 1i is drawn randomly from{5, 10, 15, 20, 25, 30, 35, 40, 45, 50,

60, 70, 80, 90, 100}. If the answer to the first bid is no, a second bid b 2i < b 1i is drawn randomly. If the answer to the first bid is yes, a second bid b 2i > b 1i is drawn randomly. There was a high response rate (92.6 %).

The Range yes model is empirically equivalent to a special case developed in[START_REF] Flachaire | Controlling starting-point bias in double-bounded contingent valuation surveys[END_REF], with an anchoring parameter equal to zero. In this last article, the results suggested a specific behavior (shift effect) in ascending sequences only. This interpretation was based on empirical results only, with an unknown underlying decision process. Here, we obtain similar empirical results, but the interpretation of the response behavior is very different.

answer both questions according to the same value, contrary to the results obtained with the standard models.

Conclusion

In this article, we propose a unified framework that accomodates many of the existing models for dichotomous choice contingent valuation with follow-up and allows to discriminate between them by simple parametric tests of hypothese. We further test the Range model, developped in [START_REF] Flachaire | Starting-point bias and respondent uncertainty in dichotomous choice valuation surveys[END_REF], against several others standard models. Our empirical results show that the Range model outperforms other standard models and that, when uncertain, respondents tend to accept proposed bids. It confirms that respondent uncertainty is a valid explanation of various anomalies arising in contingent valuation surveys.