FractalPark
Rational reciprocal

reciprocalQuadratic

2edf64a9-157c-57d7-8894-1f4781bc4f8c

Teaching overview

FRM-like/1 defines reciprocalQuadratic with source initialization if ismand: z = 0; otherwise z = pixel, then a loop whose first node is denom = z * z + c. The pinned parameter-plane profile uses center (0, 0), zoom 0.25, rotation 0, and 96 iterations, and the source tests |z| <= 256 for bailout.

Source walkthrough

  1. frm-v1:37344c3bc7fc90852e94c7b74ec99df5400c6332e8ca9bdad5e5c8ff3b51e688:init/0

    This cited initialization node performs only: if ismand: z = 0; otherwise z = pixel.

  2. frm-v1:37344c3bc7fc90852e94c7b74ec99df5400c6332e8ca9bdad5e5c8ff3b51e688:loop/0

    This cited first loop node performs only: denom = z * z + c.

  3. frm-v1:37344c3bc7fc90852e94c7b74ec99df5400c6332e8ca9bdad5e5c8ff3b51e688:bailout

    This cited bailout node tests only: |z| <= 256.

Syntax features

initialization-flow

The initialization annotation isolates if ismand: z = 0; otherwise z = pixel rather than a later initialization statement. This is specific to reciprocalQuadratic.

iteration-flow

The iteration annotation isolates the first loop assignment denom = z * z + c; reciprocalQuadratic builds denom from z squared plus c before its guard. This is specific to reciprocalQuadratic.

bailout-test

The termination annotation identifies the exact continuation comparison |z| <= 256. This is specific to reciprocalQuadratic.

Parameter experiment

Steps

  1. Render reciprocalQuadratic with the pinned parameter-plane baseline: center (0, 0), zoom 0.25, rotation 0, and 96 iterations.
  2. Keep center (0, 0), zoom 0.25, rotation 0, and 96 iterations fixed except for iterations, render once at 48 iterations, and compare it with the 96-iteration baseline.

What to observe

Record whether the 48- versus 96-iteration comparison changes anything, and note the source limit |z| <= 256. This is the reciprocalQuadratic comparison.

Exercise

For reciprocalQuadratic, use the three annotations to distinguish the single-node operations if ismand: z = 0; otherwise z = pixel, denom = z * z + c, and |z| <= 256; explain why no neighboring statement belongs to the loop annotation.

Completion check

Name all 3 annotation IDs, then state exactly that the cited loop node is denom = z * z + c and the cited bailout node is |z| <= 256. This completes the reciprocalQuadratic reading.

Sources and rights

Grounded in runtime source revision 37344c3bc7fc90852e94c7b74ec99df5400c6332e8ca9bdad5e5c8ff3b51e688 and the publication decision for 2edf64a9-157c-57d7-8894-1f4781bc4f8c.

rightsStatus is project-owned; implementationBasis is project-owned; publicationDecision is publish; decisionReason is publish-project-owned-native-recipe. These records describe this project decision only and do not assert broader rights in any third-party original.

Formula Record

reciprocalQuadratic

This canonical FractalPark implementation is published and runnable.

Deterministic preview of reciprocalQuadratic

Canonical source

Language
frm-like/1
Standard library
1
Profile mode
parameter-plane
Profile center
0, 0
Profile zoom
0.25
Profile iterations
96
Profile evidence
family

Parameters

No declared parameters

Canonical source

This verified canonical revision is read-only. Remix creates a separate editable fork.

Loading canonical source…

Source and implementation

Formula ID
2edf64a9-157c-57d7-8894-1f4781bc4f8c
Canonical name
reciprocalQuadratic
Original name
reciprocalQuadratic
Historical source
FractalPark
Current implementation
Project-owned

This is a FractalPark project-owned implementation. The linked file is the pinned canonical Definition.

Rights or attribution concern?

Send the Formula ID and supporting evidence. The maintainer can hold or withdraw the implementation while the claim is reviewed. contact@fractalpark.com