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

Time bar (total: 3.0s)

analyze14.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.8s (90.8%)

Memory
17.2MiB live, 879.9MiB allocated
Samples
602.0ms8 256×0valid-sollya
579.0ms8 256×0valid-baseline
494.0ms8 256×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 277.0ms
ival-mult: 199.0ms (71.8% of total)
ival-sub: 65.0ms (23.4% of total)
ival-true: 7.0ms (2.5% of total)
...in/eval/compile.rkt:110:19: 3.0ms (1.1% of total)
ival-assert: 3.0ms (1.1% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 289.0ms
ival-mult: 208.0ms (72.1% of total)
ival-sub: 70.0ms (24.3% of total)
const: 10.0ms (3.5% of total)
Bogosity

preprocess228.0ms (7.5%)

Memory
-4.3MiB live, 26.1MiB 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
89.1%
(-.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.2%)

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.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 17 to 11 computations (35.3% saved)

preprocess28.0ms (0.9%)

Memory
2.9MiB live, 36.3MiB 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...