Trowbridge-Reitz Sample, near normal, slope_y

Time bar (total: 3.0s)

analyze63.0ms (2.1%)

Memory
-11.7MiB live, 19.6MiB 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 (93.2%)

Memory
33.4MiB live, 727.4MiB allocated
Samples
762.0ms8 256×0valid-baseline
711.0ms8 256×0valid-rival
502.0ms8 256×0valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 502.0ms
...in/eval/compile.rkt:77:19: 125.0ms (24.9% of total)
ival-sin: 107.0ms (21.3% of total)
ival-mult: 93.0ms (18.5% of total)
ival-div: 61.0ms (12.1% of total)
ival-sqrt: 58.0ms (11.5% of total)
ival-sub: 46.0ms (9.2% of total)
ival-true: 8.0ms (1.6% 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: 483.0ms
...ms/src/baseline.rkt:166:19: 119.0ms (24.6% of total)
ival-mult: 104.0ms (21.5% of total)
ival-sin: 88.0ms (18.2% of total)
ival-div: 60.0ms (12.4% of total)
ival-sqrt: 56.0ms (11.6% of total)
ival-sub: 44.0ms (9.1% of total)
const: 12.0ms (2.5% of total)
Bogosity

preprocess122.0ms (4%)

Memory
-9.8MiB live, 24.3MiB allocated
Algorithm
egg-herbie
Rules
878×fma-define
262×fmm-def
176×associate-*l*
172×associate-*r*
146×distribute-lft-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043490
188470
2142470
3261462
4532462
51010462
61433462
71721462
81816462
91922462
101974462
111986462
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.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)))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) cosTheta_i)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u1)))
Outputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))))
(*.f32 (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 (neg.f32 u1) (+.f32 u1 #s(literal 1 binary32)))))
(*.f32 (sin.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))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 u2 #s(literal -314159265359/50000000000 binary32))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 u2 #s(literal -314159265359/50000000000 binary32))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (sin.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 (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (+.f32 u1 #s(literal 1 binary32)))) (sin.f32 (*.f32 u2 #s(literal -314159265359/50000000000 binary32))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal -1 binary32) u1))) (sin.f32 (*.f32 u2 #s(literal -314159265359/50000000000 binary32))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sin.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))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) cosTheta_i)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u1)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (sin.f32 (*.f32 u1 #s(literal 314159265359/50000000000 binary32))))
Symmetry

(abs cosTheta_i)

(negabs 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.4%
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.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))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
Outputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (sin.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))

soundness0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

preprocess18.0ms (0.6%)

Memory
9.0MiB live, 24.5MiB allocated
Remove

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