Case 079
Washing machine cycle simulator
washing_machine_cycle_simulator.eml steps a washing machine through its fixed cycle (fill -> wash -> rinse -> spin -> done), each stage with its own duration, accumulating a running total.
ok: true — round-trip fixpoint reached (python1 == python2)updated 2026-07-24
EML
eml# Self-authored for the EML case corpus (no external origin). Simulates a
# washing machine cycling through fixed stages (fill -> wash -> rinse ->
# spin -> done), each stage running for its own fixed duration and
# accumulating a running total — a multi-stage cyclic state machine,
# distinct from the corpus's 2-state
# examples/turnstile-simulator/ and the position-tracking
# examples/elevator-simulator/.
stages^+["fill", "wash", "rinse", "spin", "done"]
durations^+[3, 8, 4, 5, 0]
0 => total_time
for i in [0:4]:
stages[i] => stage
durations[i] => duration
if stage != "done":
"Stage: " + stage + " (" + str(duration) + " min)" => line
line^0
total_time + duration => total_time
else:
"Cycle complete." => line
line^0
"Total cycle time: " + str(total_time) + " minutes" => summary
summary^0Python (deterministic transpilation)
pythonstages = ["fill", "wash", "rinse", "spin", "done"]
durations = [3, 8, 4, 5, 0]
total_time = 0
for i in range(0, 5):
stage = stages[i]
duration = durations[i]
if stage != "done":
line = "Stage: " + stage + " (" + str(duration) + " min)"
print(line)
total_time = total_time + duration
else:
line = "Cycle complete."
print(line)
summary = "Total cycle time: " + str(total_time) + " minutes"
print(summary)stdout (executed)
textStage: fill (3 min)
Stage: wash (8 min)
Stage: rinse (4 min)
Stage: spin (5 min)
Cycle complete.
Total cycle time: 20 minutesTrace event types
eml:run:starteml:assigneml:outputeml:run:done