Curve intersection, scale width based on ribbon orientation

Time bar (total: 4.8s)

analyze349.0ms (7.3%)

Memory
-0.0MiB live, 130.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.8%99.2%0%0%0%0
0%0%0.8%99.2%0%0%0%1
0%0%0.8%99.2%0%0%0%2
0%0%0.8%99.2%0%0%0%3
0%0%0.8%99.2%0%0%0%4
0%0%0.8%99.2%0%0%0%5
25%0.2%0.6%99.2%0%0%0%6
25%0.2%0.6%99.2%0%0%0%7
25%0.2%0.6%99.2%0%0%0%8
25%0.2%0.6%99.2%0%0%0%9
37.5%0.3%0.5%99.2%0%0%0%10
37.5%0.3%0.5%99.2%0%0%0%11
37.5%0.3%0.5%99.2%0%0%0%12
Compiler

Compiled 57 to 37 computations (35.1% saved)

sample4.3s (89.4%)

Memory
-8.1MiB live, 1 154.9MiB allocated
Samples
1.4s8 256×0valid-baseline
1.1s8 256×0valid-rival
797.0ms8 256×0valid-sollya
Bogosity

preprocess133.0ms (2.8%)

Memory
9.5MiB live, 27.2MiB allocated
Algorithm
egg-herbie
Rules
1 510×fmm-def
1 088×fma-define
1 012×times-frac
912×unsub-neg
628×distribute-lft-neg-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151608
13041396
28281320
324131170
445851170
577991170
Stop Event
node limit
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u)) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 (neg.f32 u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n1_i)))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n1_i)))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u)) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 (neg.f32 u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n1_i))))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) normAngle) u)) (/.f32 #s(literal 1 binary32) (sin.f32 u))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 normAngle u)) (/.f32 #s(literal 1 binary32) (sin.f32 u))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n0_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n0_i))) normAngle) (*.f32 (*.f32 (sin.f32 (*.f32 u n0_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n0_i))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n1_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n1_i))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u n1_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n1_i))) normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) n0_i) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) u) (*.f32 (*.f32 (sin.f32 (*.f32 n0_i normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) n1_i) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 n1_i normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u)) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 (neg.f32 u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) (neg.f32 u))))) n0_i (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i)))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 normAngle (+.f32 #s(literal 1 binary32) u))) (sin.f32 normAngle)) (*.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) (neg.f32 n1_i)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 #s(literal 1 binary32) u)))) (*.f32 (sin.f32 (*.f32 u normAngle)) (neg.f32 n1_i))))
(/.f32 (-.f32 (*.f32 n0_i (sin.f32 (fma.f32 u normAngle normAngle))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i)))
(-.f32 (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 normAngle)) (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (*.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32)))))))
(/.f32 (fma.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32)))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n1_i)))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (neg.f32 n1_i))))
(-.f32 (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)) (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (-.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)))
(/.f32 (-.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32)))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (neg.f32 (sin.f32 normAngle)))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 (neg.f32 normAngle)))) n1_i)))
(neg.f32 (fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) (neg.f32 normAngle))) (/.f32 #s(literal 1 binary32) (neg.f32 (sin.f32 normAngle)))) n0_i (*.f32 n1_i (/.f32 (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) #s(literal 1 binary32)) (neg.f32 (sin.f32 normAngle))))))
(neg.f32 (fma.f32 n0_i (/.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) (neg.f32 normAngle))) (neg.f32 (sin.f32 normAngle))) (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 normAngle))))
(neg.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i))))
(neg.f32 (/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle)))
(/.f32 (-.f32 (*.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32))))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u)) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 (neg.f32 u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
(neg.f32 (fma.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) (neg.f32 u))))) n0_i (*.f32 (sin.f32 (*.f32 u (neg.f32 normAngle))) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i))))
(-.f32 (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 normAngle)) (*.f32 n0_i (/.f32 (sin.f32 (*.f32 normAngle (+.f32 #s(literal 1 binary32) u))) (sin.f32 normAngle))))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (-.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (*.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 #s(literal 1 binary32) u))))))
(/.f32 (-.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (*.f32 n0_i (sin.f32 (fma.f32 u normAngle normAngle)))) (sin.f32 normAngle))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (neg.f32 n1_i))))
(-.f32 (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)) (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (-.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)))
(/.f32 (-.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32)))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (neg.f32 (sin.f32 normAngle)))
(neg.f32 (+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n1_i))))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) (neg.f32 n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) n1_i)))
(-.f32 (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 normAngle)) (/.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) (sin.f32 normAngle)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (*.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32)))))))
(/.f32 (fma.f32 n0_i (sin.f32 (*.f32 normAngle (+.f32 u #s(literal -1 binary32)))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) normAngle) u)) (/.f32 #s(literal 1 binary32) (sin.f32 u))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 normAngle u)) (/.f32 #s(literal 1 binary32) (sin.f32 u))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 u (-.f32 #s(literal 1 binary32) normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 u))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 u)) n1_i)))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u (-.f32 #s(literal 1 binary32) normAngle))) (sin.f32 u)) (/.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i) (sin.f32 u)))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 u)) (+.f32 (*.f32 n0_i (sin.f32 (*.f32 u (-.f32 #s(literal 1 binary32) normAngle)))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)))
(/.f32 (fma.f32 n0_i (sin.f32 (*.f32 u (-.f32 #s(literal 1 binary32) normAngle))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n0_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n0_i))) normAngle) (*.f32 (*.f32 (sin.f32 (*.f32 u n0_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n0_i))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n0_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n0_i))) normAngle (*.f32 n1_i (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 n0_i)) (sin.f32 (*.f32 u n0_i)))))
(fma.f32 normAngle (/.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n0_i)) (sin.f32 n0_i)) (*.f32 n1_i (/.f32 (sin.f32 (*.f32 u n0_i)) (sin.f32 n0_i))))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 n0_i)) (+.f32 (*.f32 normAngle (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n0_i))) (*.f32 n1_i (sin.f32 (*.f32 u n0_i)))))
(/.f32 (fma.f32 normAngle (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n0_i)) (*.f32 n1_i (sin.f32 (*.f32 u n0_i)))) (sin.f32 n0_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n1_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n1_i))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u n1_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n1_i))) normAngle))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n1_i)) (/.f32 #s(literal 1 binary32) (sin.f32 n1_i))) n0_i (*.f32 normAngle (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 n1_i)) (sin.f32 (*.f32 u n1_i)))))
(fma.f32 normAngle (/.f32 (sin.f32 (*.f32 u n1_i)) (sin.f32 n1_i)) (*.f32 n0_i (/.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n1_i)) (sin.f32 n1_i))))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 n1_i)) (+.f32 (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n1_i))) (*.f32 normAngle (sin.f32 (*.f32 u n1_i)))))
(/.f32 (fma.f32 normAngle (sin.f32 (*.f32 u n1_i)) (*.f32 n0_i (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) n1_i)))) (sin.f32 n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) n0_i) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) u) (*.f32 (*.f32 (sin.f32 (*.f32 n0_i normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n0_i)))) u (*.f32 n1_i (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle n0_i)))))
(fma.f32 (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n0_i))) (/.f32 u (sin.f32 normAngle)) (*.f32 n1_i (/.f32 (sin.f32 (*.f32 normAngle n0_i)) (sin.f32 normAngle))))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 u (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n0_i)))) (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i)))))
(/.f32 (fma.f32 u (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n0_i))) (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i)))) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) n1_i) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 n1_i normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) u))
(fma.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n1_i)))) n0_i (*.f32 u (/.f32 (*.f32 (sin.f32 (*.f32 normAngle n1_i)) #s(literal 1 binary32)) (sin.f32 normAngle))))
(fma.f32 u (/.f32 (sin.f32 (*.f32 normAngle n1_i)) (sin.f32 normAngle)) (*.f32 n0_i (/.f32 (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n1_i))) (sin.f32 normAngle))))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 n0_i (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n1_i)))) (*.f32 u (sin.f32 (*.f32 normAngle n1_i)))))
(/.f32 (fma.f32 u (sin.f32 (*.f32 normAngle n1_i)) (*.f32 n0_i (sin.f32 (*.f32 normAngle (-.f32 #s(literal 1 binary32) n1_i))))) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i (*.f32 n0_i (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 u normAngle)))))
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (sin.f32 normAngle)) n1_i (*.f32 n0_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))))
(*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (+.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n1_i) (*.f32 n0_i (sin.f32 (*.f32 u normAngle)))))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) n1_i (*.f32 n0_i (sin.f32 (*.f32 u normAngle)))) (sin.f32 normAngle))
Symmetry

(abs normAngle)

Compiler

Compiled 29 to 17 computations (41.4% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
62.3%
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Compiler

Compiled 58 to 34 computations (41.4% saved)

simplify3.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative
+-commutative
sub-neg
1-exp
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025101
139101
243101
345101
446101
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)) (sin.f32 (*.f32 u normAngle))) n1_i))

soundness0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Stop Event
fuel
Compiler

Compiled 29 to 17 computations (41.4% saved)

preprocess20.0ms (0.4%)

Memory
-5.0MiB live, 26.4MiB allocated
Remove

(abs normAngle)

Compiler

Compiled 232 to 136 computations (41.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...