Trigonometry A

Time bar (total: 1.7s)

analyze9.0ms (0.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
0%0%25%75%0%0%0%1
50%12.5%12.5%75%0%0%0%2
50%12.5%12.5%75%0%0%0%3
75%18.7%6.2%75%0%0%0%4
87.5%21.8%3.1%75%0%0%0%5
93.8%23.4%1.6%75%0%0%0%6
93.8%23.4%1.6%75%0%0%0%7
96.9%24.2%0.8%75%0%0%0%8
96.9%24.2%0.8%75%0%0%0%9
98.4%24.6%0.4%75%0%0%0%10
98.4%24.6%0.4%75%0%0%0%11
99.2%24.8%0.2%75%0%0%0%12
Compiler

Compiled 20 to 13 computations (35% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-add: 1.0ms (22.5% of total)
ival-mult: 1.0ms (22.5% of total)
ival-<=: 1.0ms (22.5% of total)
ival-sin: 1.0ms (22.5% of total)
ival-div: 0.0ms (0% of total)
ival-and: 0.0ms (0% of total)
ival-cos: 0.0ms (0% of total)
const: 0.0ms (0% of total)

sample1.4s (81.6%)

Results
1.2s8256×256valid
Precisions
Click to see histograms. Total time spent on operations: 889.0ms
ival-sin: 259.0ms (29.1% of total)
ival-cos: 236.0ms (26.5% of total)
ival-mult: 157.0ms (17.7% of total)
ival-div: 91.0ms (10.2% of total)
ival-<=: 72.0ms (8.1% of total)
ival-add: 54.0ms (6.1% of total)
ival-and: 10.0ms (1.1% of total)
const: 10.0ms (1.1% of total)
Bogosity

preprocess174.0ms (10%)

Algorithm
egg-herbie
Rules
772×fma-define
376×fma-neg
262×times-frac
160×distribute-lft-neg-in
154×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
035339
181303
2174299
3431295
41104295
51875295
62350295
72557295
82792295
93329295
103524295
113714295
123801295
133824295
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 e) (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 (neg.f64 v)))))
(neg.f64 (/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 e) (cos.f64 v)))))
(neg.f64 (/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 (neg.f64 v))))))
(/.f64 (*.f64 v (sin.f64 e)) (+.f64 #s(literal 1 binary64) (*.f64 v (cos.f64 e))))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) #s(literal 1 binary64))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) #s(literal 1 binary64))))
(/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 e) (cos.f64 v))))
(/.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (+.f64 #s(literal 1 binary64) (*.f64 (cos.f64 v) (neg.f64 e))))
(/.f64 (*.f64 e (neg.f64 (sin.f64 v))) (fma.f64 (cos.f64 v) (neg.f64 e) #s(literal 1 binary64)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 (*.f64 e (cos.f64 v)) #s(literal -1 binary64)))
(*.f64 (sin.f64 v) (/.f64 e (fma.f64 e (cos.f64 v) #s(literal -1 binary64))))
(/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 (neg.f64 v)))))
(/.f64 (*.f64 e (neg.f64 (sin.f64 v))) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (neg.f64 (sin.f64 v))) (fma.f64 e (cos.f64 v) #s(literal 1 binary64)))
(*.f64 e (/.f64 (sin.f64 v) (neg.f64 (fma.f64 e (cos.f64 v) #s(literal 1 binary64)))))
(neg.f64 (/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 e) (cos.f64 v)))))
(/.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (cos.f64 v) (neg.f64 e)))))
(/.f64 (*.f64 e (sin.f64 v)) (fma.f64 (cos.f64 v) (neg.f64 e) #s(literal 1 binary64)))
(/.f64 (*.f64 e (sin.f64 v)) (-.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(*.f64 e (/.f64 (neg.f64 (sin.f64 v)) (fma.f64 e (cos.f64 v) #s(literal -1 binary64))))
(neg.f64 (/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 (neg.f64 v))))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) #s(literal 1 binary64))))
(/.f64 (*.f64 v (sin.f64 e)) (+.f64 #s(literal 1 binary64) (*.f64 v (cos.f64 e))))
(*.f64 v (/.f64 (sin.f64 e) (fma.f64 v (cos.f64 e) #s(literal 1 binary64))))
(*.f64 (sin.f64 e) (/.f64 v (fma.f64 v (cos.f64 e) #s(literal 1 binary64))))
Symmetry

(negabs v)

explain110.0ms (6.3%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(cos.f64 v)
00-0-(+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v)))
00-0-v
00-0-(sin.f64 v)
00-0-(*.f64 e (sin.f64 v))
00-0-(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
00-0-(*.f64 e (cos.f64 v))
00-0-e
00-0-#s(literal 1 binary64)
Results
66.0ms512×256valid
Compiler

Compiled 83 to 29 computations (65.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
ival-sin: 13.0ms (31.4% of total)
ival-cos: 11.0ms (26.6% of total)
ival-mult: 9.0ms (21.7% of total)
ival-div: 4.0ms (9.7% of total)
ival-add: 3.0ms (7.2% of total)
const: 1.0ms (2.4% of total)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
12345
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 #s(literal 1 binary64) (*.f64 e (cos.f64 v))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 13 to 9 computations (30.8% saved)

preprocess23.0ms (1.3%)

Remove

(negabs v)

Compiler

Compiled 104 to 72 computations (30.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...