Explain the unexpectedly high reversal-time factor for primal value taping with complex numbers

Determine the reason for the higher-than-expected reversal-time factor (approximately 2.6) observed for the primal value taping approach in CoDiPack when complex numbers are handled, given that assembly-level analysis did not reveal the cause, and explain why the reverse pass is disproportionately slower than anticipated.

Background

The paper integrates complex numbers into the expression template framework of the operator overloading AD tool CoDiPack and evaluates performance on a coupled Burgers’ equation benchmark. It compares memory and timing for Jacobian taping and primal value taping in both real and complex settings.

In the complex-number experiments, the recording factor for primal value taping was around 1.8—consistent with expectations—whereas the reversal-time factor was around 2.6, which the authors considered higher than expected. A subsequent assembly-level analysis did not identify the cause, leaving the reason for this slowdown unresolved.

References

The factors for the reversal are around $2.6$, which is higher than expected. An analysis of the assembly code did not yield any insight why this is the case.

Adding complex numbers to expression template algorithmic differentiation tools  (2508.05371 - Sagebaum et al., 7 Aug 2025) in Section 5 (Performance results), Subsubsection "Time comparison"