Beckmann Sample, near normal, slope_x

Time bar (total: 3.4s)

analyze63.0ms (1.9%)

Memory
6.5MiB live, 22.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
50%0%0%100%0%0%0%3
50%0%0%100%0%0%0%4
50%0%0%100%0%0%0%5
75%0%0%100%0%0%0%6
75%0%0%100%0%0%0%7
75%0%0%100%0%0%0%8
87.5%0%0%100%0%0%0%9
87.5%0%0%100%0%0%0%10
87.5%0%0%100%0%0%0%11
93.8%0%0%100%0%0%0%12
Compiler

Compiled 32 to 31 computations (3.1% saved)

sample3.2s (93.7%)

Memory
39.9MiB live, 887.4MiB allocated
Samples
1.1s8 256×0valid-baseline
762.0ms8 256×0valid-rival
504.0ms8 256×0valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 553.0ms
ival-log: 144.0ms (26% of total)
ival-mult: 136.0ms (24.6% of total)
ival-cos: 86.0ms (15.5% of total)
ival-sqrt: 50.0ms (9% of total)
ival-neg: 48.0ms (8.7% of total)
ival-sub: 44.0ms (7.9% of total)
ival-pi: 29.0ms (5.2% of total)
ival-true: 8.0ms (1.4% of total)
...in/eval/compile.rkt:76:19: 6.0ms (1.1% of total)
ival-assert: 3.0ms (0.5% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 708.0ms
ival-mult: 190.0ms (26.8% of total)
ival-log: 171.0ms (24.1% of total)
ival-cos: 106.0ms (15% of total)
ival-sqrt: 71.0ms (10% of total)
ival-sub: 57.0ms (8% of total)
ival-neg: 55.0ms (7.8% of total)
ival-pi: 39.0ms (5.5% of total)
const: 19.0ms (2.7% of total)
Bogosity

preprocess128.0ms (3.8%)

Memory
-6.2MiB live, 26.2MiB allocated
Algorithm
egg-herbie
Rules
1 672×fma-define
322×associate-*r*
286×fmm-def
254×distribute-lft-in
238×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049559
1109521
2201521
3348521
4583521
5992521
61214521
71598521
82234521
92548521
102561521
112568521
122569521
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) (neg.f32 u2))))
(neg.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(neg.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(neg.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) cosTheta_i)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u2)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 u1))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32)))) (sqrt.f32 (neg.f32 (log1p.f32 u1))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) (neg.f32 u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32)))))
(neg.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(*.f32 (neg.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (neg.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32))))))
(neg.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))) (neg.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (neg.f32 (sqrt.f32 (neg.f32 (log1p.f32 u1)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 u1))) (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32))))))
(neg.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) (neg.f32 u2)))))
(*.f32 (neg.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (neg.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1))))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32))))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) cosTheta_i)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) cosTheta_i)))))
(*.f32 (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 cosTheta_i)))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 #s(literal -2 binary32)))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 cosTheta_i)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u2)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u2)))) (cos.f32 (*.f32 u1 (*.f32 #s(literal 2 binary32) (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u2)))) (cos.f32 (*.f32 u1 (*.f32 #s(literal 2 binary32) (PI.f32)))))
Symmetry

(abs cosTheta_i)

(abs u2)

Compiler

Compiled 16 to 14 computations (12.5% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.6%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Compiler

Compiled 32 to 28 computations (12.5% saved)

simplify2.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Rules
10×*-commutative
sub-neg
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01949
13249
23749
34049
44149
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))

soundness0.0ms (0%)

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

Compiled 16 to 14 computations (12.5% saved)

preprocess21.0ms (0.6%)

Memory
-3.6MiB live, 27.8MiB allocated
Remove

(abs u2)

(abs cosTheta_i)

Compiler

Compiled 192 to 168 computations (12.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...