# Lane F, x87 precision-sensitivity experiment (verify/results/fpu-cw in the notes repo). # 0x137f = 64-bit significand (x87 extended), round-to-nearest. Named in the lane brief as "53-bit, different rounding"; it is in fact the precision axis, and the one an x64/SSE port cannot reproduce. # # Every shim.cfg.fpu* file is identical except the fpu.force line: the hook set, the trace path # and the flush policy are held fixed so the control word is the only variable across runs. # # x87 control-word fields: bits 0-5 exception masks, bits 8-9 precision control # (00 = 24-bit / 10 = 53-bit / 11 = 64-bit significand), bits 10-11 rounding control # (00 nearest / 01 down / 10 up / 11 truncate), bit 12 infinity control (ignored since the 387). hooks=trace hook.Shim::SelfTest::Fill=off hook.Mars::GlobalConsts::LoadFile=off hook.Game::WeaponDictionary::Init=off hook.Game::SectionDictionary::SectionDictionary=off hook.Game::StrategyServer::ProcessFleetMovement=off hook.Game::TechTree::ProcessResearch=trace hook.Game::ServerPlayer::ComputeBudget=trace hook.Game::ServerPlayer::OnTechResearched=trace hook.Game::ServerSystem::ProcessTurn=trace hook.Game::StrategyServer::MoveFleet=trace trace.path=C:\SOTS\shim.trace.jsonl trace.inline_max=256 trace.flush=always # Forced once at the turn gate (StrategyClient::EndTurn and StrategyServer::BeginProcessTurn), # never re-forced inside the pipeline -- re-forcing would guarantee the value is present without # proving it ever held. fpu.force=0x137f # Per-tick sampler: logs to shim.log whenever the word MOVES, so the log carries a timeline of # the value rather than a single claim made at a single instant. fpu.sample_ticks=on