Trowbridge-Reitz Sample, near normal, slope_x

Time bar (total: 3.0s)

analyze59.0ms (2%)

Memory
3.9MiB live, 19.5MiB 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 28 to 25 computations (10.7% saved)

sample2.8s (94.3%)

Memory
26.7MiB live, 724.1MiB allocated
Samples
777.0ms8 256×0valid-baseline
686.0ms8 256×0valid-rival
484.0ms8 256×0valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 480.0ms
...in/eval/compile.rkt:77:19: 116.0ms (24.1% of total)
ival-mult: 91.0ms (18.9% of total)
ival-cos: 87.0ms (18.1% of total)
ival-div: 65.0ms (13.5% of total)
ival-sqrt: 62.0ms (12.9% of total)
ival-sub: 46.0ms (9.6% of total)
ival-true: 8.0ms (1.7% of total)
ival-assert: 3.0ms (0.6% of total)
...in/eval/compile.rkt:76:19: 2.0ms (0.4% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 495.0ms
...ms/src/baseline.rkt:166:19: 119.0ms (24.1% of total)
ival-mult: 109.0ms (22% of total)
ival-cos: 91.0ms (18.4% of total)
ival-div: 59.0ms (11.9% of total)
ival-sqrt: 57.0ms (11.5% of total)
ival-sub: 48.0ms (9.7% of total)
const: 12.0ms (2.4% of total)
Bogosity

preprocess87.0ms (3%)

Memory
-6.8MiB live, 23.9MiB allocated
Algorithm
egg-herbie
Rules
598×fma-define
190×fmm-def
130×sub-neg
102×associate-*l*
80×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043490
188482
2138482
3233474
4407474
5719474
6984474
71187474
81304474
91338474
101362474
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) cosTheta_i)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u1)))
Outputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 u1 (neg.f32 (+.f32 u1 #s(literal 1 binary32))))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 u1 (+.f32 (neg.f32 u1) #s(literal -1 binary32)))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 u1 (-.f32 #s(literal -1 binary32) u1))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (neg.f32 (+.f32 u1 #s(literal 1 binary32))))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (+.f32 (neg.f32 u1) #s(literal -1 binary32)))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (neg.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal -1 binary32) u1)))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) cosTheta_i)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u1)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (cos.f32 (*.f32 u1 #s(literal 314159265359/50000000000 binary32))))
Symmetry

(abs cosTheta_i)

(abs u2)

Compiler

Compiled 14 to 11 computations (21.4% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB 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
99.1%
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
Compiler

Compiled 28 to 22 computations (21.4% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01642
12542
22942
33142
43242
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
Outputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))

soundness0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

preprocess18.0ms (0.6%)

Memory
9.0MiB live, 24.7MiB allocated
Remove

(abs u2)

(abs cosTheta_i)

Compiler

Compiled 168 to 132 computations (21.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...