Graphics.Rasterific.Shading:$sradialGradientWithFocusShader from Rasterific-0.6.1, B

Time bar (total: 2.9s)

analyze13.0ms (0.5%)

Memory
4.2MiB live, 4.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
100%99.8%0%0.2%0%0%0%1
Compiler

Compiled 33 to 25 computations (24.2% saved)

sample2.7s (90.6%)

Memory
-5.9MiB live, 825.4MiB allocated
Samples
602.0ms8 256×0valid-sollya
516.0ms8 256×0valid-baseline
469.0ms8 256×0valid-rival
Bogosity

preprocess226.0ms (7.7%)

Memory
10.1MiB live, 26.0MiB allocated
Algorithm
egg-herbie
Rules
551×unsub-neg
547×fmm-def
546×sub-neg
467×*-commutative
382×distribute-lft-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061912
1195824
2657824
33085824
45790824
57166824
67590824
77699824
87716824
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 (neg.f64 z) (neg.f64 z)) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) (neg.f64 t))))
(neg.f64 (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 (neg.f64 z) (neg.f64 z)) t))))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) (neg.f64 t)))))
(-.f64 (*.f64 y y) (*.f64 (*.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 z z) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 x x) t)))
(-.f64 (*.f64 t t) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) x)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z #s(literal 4 binary64)) (-.f64 (*.f64 y y) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 t #s(literal 4 binary64)) (-.f64 (*.f64 z z) y)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 t t) z)))
Outputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(fma.f64 x x (*.f64 (-.f64 (*.f64 z z) t) (*.f64 y #s(literal -4 binary64))))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (fma.f64 z (neg.f64 z) t) (*.f64 x x))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 t (*.f64 z z)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(fma.f64 x x (*.f64 (-.f64 (*.f64 z z) t) (*.f64 y #s(literal -4 binary64))))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (fma.f64 z (neg.f64 z) t) (*.f64 x x))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 t (*.f64 z z)) (*.f64 x x))
(-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(fma.f64 x x (*.f64 (-.f64 (*.f64 z z) t) (*.f64 y #s(literal -4 binary64))))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (fma.f64 z (neg.f64 z) t) (*.f64 x x))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 t (*.f64 z z)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 x x) (*.f64 (-.f64 (*.f64 z z) t) (*.f64 #s(literal 4 binary64) (neg.f64 y))))
(fma.f64 x x (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(fma.f64 y (*.f64 #s(literal 4 binary64) (-.f64 (*.f64 z z) t)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 (neg.f64 z) (neg.f64 z)) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(fma.f64 x x (*.f64 (-.f64 (*.f64 z z) t) (*.f64 y #s(literal -4 binary64))))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (fma.f64 z (neg.f64 z) t) (*.f64 x x))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 t (*.f64 z z)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) (neg.f64 t))))
(fma.f64 x x (*.f64 (fma.f64 z z t) (*.f64 y #s(literal -4 binary64))))
(fma.f64 x x (*.f64 y (*.f64 (fma.f64 z z t) #s(literal -4 binary64))))
(neg.f64 (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (fma.f64 x x (*.f64 (-.f64 (*.f64 z z) t) (*.f64 y #s(literal -4 binary64)))))
(-.f64 (*.f64 y (*.f64 #s(literal 4 binary64) (-.f64 (*.f64 z z) t))) (*.f64 x x))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (-.f64 (*.f64 z z) t) (*.f64 #s(literal 4 binary64) (neg.f64 y)))))
(neg.f64 (fma.f64 x x (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (fma.f64 y (*.f64 #s(literal 4 binary64) (-.f64 (*.f64 z z) t)) (*.f64 x x)))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 (neg.f64 z) (neg.f64 z)) t))))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t))))
(neg.f64 (fma.f64 x x (*.f64 (-.f64 (*.f64 z z) t) (*.f64 y #s(literal -4 binary64)))))
(-.f64 (*.f64 y (*.f64 #s(literal 4 binary64) (-.f64 (*.f64 z z) t))) (*.f64 x x))
(neg.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) (neg.f64 t)))))
(neg.f64 (fma.f64 x x (*.f64 (fma.f64 z z t) (*.f64 y #s(literal -4 binary64)))))
(-.f64 (*.f64 #s(literal 4 binary64) (*.f64 y (fma.f64 z z t))) (*.f64 x x))
(-.f64 (*.f64 y y) (*.f64 (*.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(-.f64 (*.f64 y y) (*.f64 (-.f64 (*.f64 z z) t) (*.f64 x #s(literal 4 binary64))))
(fma.f64 y y (*.f64 (-.f64 (*.f64 z z) t) (*.f64 x #s(literal -4 binary64))))
(fma.f64 (-.f64 (*.f64 z z) t) (*.f64 x #s(literal -4 binary64)) (*.f64 y y))
(-.f64 (*.f64 z z) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 x x) t)))
(fma.f64 z z (*.f64 (-.f64 (*.f64 x x) t) (*.f64 y #s(literal -4 binary64))))
(fma.f64 (-.f64 (*.f64 x x) t) (*.f64 y #s(literal -4 binary64)) (*.f64 z z))
(-.f64 (*.f64 t t) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) x)))
(fma.f64 t t (*.f64 (-.f64 (*.f64 z z) x) (*.f64 y #s(literal -4 binary64))))
(fma.f64 y (*.f64 #s(literal 4 binary64) (fma.f64 z (neg.f64 z) x)) (*.f64 t t))
(fma.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 x (*.f64 z z)) (*.f64 t t))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z #s(literal 4 binary64)) (-.f64 (*.f64 y y) t)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 #s(literal 4 binary64) z) (-.f64 (*.f64 y y) t)))
(fma.f64 x x (*.f64 (-.f64 (*.f64 y y) t) (*.f64 z #s(literal -4 binary64))))
(fma.f64 x x (*.f64 #s(literal 4 binary64) (*.f64 z (-.f64 t (*.f64 y y)))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 t #s(literal 4 binary64)) (-.f64 (*.f64 z z) y)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 #s(literal 4 binary64) t) (-.f64 (*.f64 z z) y)))
(fma.f64 x x (*.f64 (-.f64 (*.f64 z z) y) (*.f64 t #s(literal -4 binary64))))
(fma.f64 t (*.f64 #s(literal 4 binary64) (fma.f64 z (neg.f64 z) y)) (*.f64 x x))
(fma.f64 t (*.f64 #s(literal 4 binary64) (-.f64 y (*.f64 z z))) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 t t) z)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (fma.f64 t t (neg.f64 z))))
(fma.f64 x x (*.f64 (-.f64 (*.f64 t t) z) (*.f64 y #s(literal -4 binary64))))
(fma.f64 (-.f64 (*.f64 t t) z) (*.f64 y #s(literal -4 binary64)) (*.f64 x x))
(fma.f64 y (*.f64 #s(literal 4 binary64) (-.f64 z (*.f64 t t))) (*.f64 x x))
Symmetry

(abs x)

(abs z)

Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
Compiler

Compiled 34 to 22 computations (35.3% saved)

simplify7.0ms (0.3%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Rules
109×unsub-neg
66×neg-mul-1
35×distribute-lft-neg-in
30×distribute-neg-out
24×distribute-lft-neg-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01855
12855
24955
36555
49255
511955
613555
720155
836355
946555
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
Outputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 z z) t)))
(+.f64 (*.f64 x x) (*.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 t (*.f64 z z))))

soundness0.0ms (0%)

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

Compiled 17 to 11 computations (35.3% saved)

preprocess29.0ms (1%)

Memory
-12.2MiB live, 36.7MiB allocated
Remove

(abs z)

(abs x)

Compiler

Compiled 238 to 154 computations (35.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...