Beckmann Sample, near normal, slope_y

Time bar (total: 3.5s)

analyze63.0ms (1.8%)

Memory
6.3MiB 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.1%)

Memory
29.1MiB live, 889.5MiB allocated
Samples
1.1s8 256×0valid-baseline
779.0ms8 256×0valid-rival
512.0ms8 256×0valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 557.0ms
ival-log: 143.0ms (25.7% of total)
ival-mult: 141.0ms (25.3% of total)
ival-sin: 97.0ms (17.4% of total)
ival-sqrt: 52.0ms (9.3% of total)
ival-sub: 46.0ms (8.3% of total)
ival-neg: 32.0ms (5.7% of total)
ival-pi: 29.0ms (5.2% of total)
ival-true: 8.0ms (1.4% of total)
...in/eval/compile.rkt:76:19: 5.0ms (0.9% of total)
ival-assert: 3.0ms (0.5% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 721.0ms
ival-mult: 191.0ms (26.5% of total)
ival-log: 170.0ms (23.6% of total)
ival-sin: 118.0ms (16.4% of total)
ival-sqrt: 69.0ms (9.6% of total)
ival-sub: 59.0ms (8.2% of total)
ival-neg: 49.0ms (6.8% of total)
ival-pi: 47.0ms (6.5% of total)
const: 19.0ms (2.6% of total)
Bogosity

preprocess152.0ms (4.3%)

Memory
-5.2MiB live, 26.0MiB allocated
Algorithm
egg-herbie
Rules
1 942×fma-define
492×unsub-neg
428×fmm-def
322×associate-*r*
316×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049559
1109509
2205509
3376509
4708509
51282509
61660509
72072509
83264509
93401509
103453509
113473509
123474509
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.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))))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.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)))) (sin.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))))) (sin.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)))) (sin.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)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u2)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u1))))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sin.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 (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 u1))))
(*.f32 (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) u2))) (sqrt.f32 (neg.f32 (log1p.f32 u1))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) (neg.f32 u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal -2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.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)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) (neg.f32 u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal -2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.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))))) (sin.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 (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 u1))) (sin.f32 (*.f32 #s(literal -2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 u1))) (sin.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)))) (sin.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)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) u2))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) cosTheta_i)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) cosTheta_i)))))
(*.f32 (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 cosTheta_i)))))
(*.f32 (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) u2))) (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 cosTheta_i)))))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) cosTheta_i))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) cosTheta_i)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u2)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u2)))) (sin.f32 (*.f32 u1 (*.f32 #s(literal 2 binary32) (PI.f32)))))
(*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u2)))) (sin.f32 (*.f32 u1 (*.f32 #s(literal 2 binary32) (PI.f32)))))
Symmetry

(abs cosTheta_i)

(negabs 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.7%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.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.5MiB live, 0.5MiB 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)))) (sin.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (sin.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)

preprocess23.0ms (0.7%)

Memory
8.1MiB live, 25.6MiB allocated
Remove

(negabs 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...