Trowbridge-Reitz Sample, near normal, slope_x

Time bar (total: 3.0s)

analyze59.0ms (2%)

Memory
2.9MiB live, 18.7MiB 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.9s (94.4%)

Memory
16.0MiB live, 729.6MiB allocated
Samples
806.0ms8 256×73valid-baseline
678.0ms8 256×73valid-rival
491.0ms8 256×73valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 502.0ms
...in/eval/compile.rkt:111:19: 119.0ms (23.7% of total)
ival-mult: 103.0ms (20.5% of total)
ival-cos: 92.0ms (18.3% of total)
ival-div: 66.0ms (13.2% of total)
ival-sqrt: 60.0ms (12% of total)
ival-sub: 49.0ms (9.8% of total)
ival-true: 7.0ms (1.4% of total)
ival-assert: 4.0ms (0.8% of total)
...in/eval/compile.rkt:110:19: 3.0ms (0.6% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 515.0ms
...ms/src/baseline.rkt:166:19: 122.0ms (23.7% of total)
ival-mult: 115.0ms (22.3% of total)
ival-cos: 91.0ms (17.7% of total)
ival-div: 67.0ms (13% of total)
ival-sqrt: 59.0ms (11.4% of total)
ival-sub: 49.0ms (9.5% of total)
const: 11.0ms (2.1% of total)
Bogosity

preprocess87.0ms (2.9%)

Memory
-7.2MiB 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.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
98.9%
(*.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)

preprocess20.0ms (0.7%)

Memory
7.1MiB 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...