ClownOptions Implicit Steps
Bongmath and implicit refinement, as an option node
- options
- options
If you've searched RES4LYF at all, you've hit the word bongmath and wondered what on earth it is. This is the node that turns it on (and it's the default here). There was literally a Reddit thread titled "Someone needs to explain bongmath" - so you're in good company being confused.
Here's the plain version, from the author via that thread: bongmath "aligns the latents from each of the substeps with the epsilon/noise predictions as it goes, doing it backwards. So the denoising process is almost going in two directions at once, both forwards and backwards." The punchline is what makes it worth caring about: it does this without extra VRAM and without adding to inference time, and it makes sampling more accurate - better images, same cost. As one user shrugged, "I just leave it on all the time now." Reasonable stance.
What it controls
This node bundles two related things - the implicit-refinement type and how many refinement passes to run - into an OPTIONS object for the sampler.
implicit_type(defaultbongmath) - the correction method applied at each step.bongmathis the free-lunch one described above. The alternatives (rebound,retro-eta,predictor-corrector) are different refinement strategies; bongmath is the one people actually run.implicit_type_substeps(defaultbongmath) - the same choice, but applied to substeps within a step (relevant when you're on a_2s/_3ssubstep sampler).implicit_steps(default 0) - how many full implicit iterations to add per step. Unlike bongmath, this costs time: each step gets re-run, so 1 doubles runtime, 2 triples it. Gains diminish fast after 2-3. It's a big help on SD3.5 Medium coherence; on Flux it's a "queue it and walk away" setting.implicit_substeps(default 0) - the same iteration count, but at the substep level.
The output is options (OPTIONS), which chains into the sampler's options input (or into the next ClownOptions node - there's an optional options passthrough input for stacking).
The subtle bit: with implicit_steps left at 0, bongmath is still active as the correction method. So this node earns its keep even at the defaults - you don't need to crank the step counts to benefit.
Installing RES4LYF
ComfyUI Manager: search RES4LYF, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF
pip install -r RES4LYF/requirements.txt
Portable users use the embedded pip under python_embedded/Scripts/. Restart, hard-refresh with F5. No model downloads.
Common issues
Runtime exploded. That's implicit_steps (or implicit_substeps), not bongmath. Bongmath is free; implicit iterations are not. Drop them back to 0 or 1.
No visible difference from bongmath. It's a refinement, not a filter - subtle by design, most noticeable on tricky compositions and fine detail. If you want to actually see it, A/B on a fixed seed with a converging sampler like res_2m at low eta, so noise isn't drowning the comparison.
It only helps if the sampler reads it. These options do nothing on their own - the combined options bundle has to reach a RES4LYF sampler's options input. A dangling options chain changes nothing.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| implicit_type | COMBO | bongmath | 4 options: rebound, retro-eta, bongmath, predictor-corrector |
| implicit_type_substeps | COMBO | bongmath | 4 options: rebound, retro-eta, bongmath, predictor-corrector |
| implicit_steps | INT | 00–10000 | — |
| implicit_substeps | INT | 00–10000 | — |
| optionsopt | OPTIONS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| options | OPTIONS | — |