Trigonometry A

Time bar (total: 3.8s)

analyze9.0ms (0.2%)

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 14 computations (30% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
Operation ival-add, time spent: 1.0ms, 20.0% of total-time
Operation ival-mult, time spent: 1.0ms, 20.0% of total-time
Operation ival-cos, time spent: 1.0ms, 20.0% of total-time
Operation ival-sin, time spent: 1.0ms, 20.0% of total-time
Operation ival-<=, time spent: 1.0ms, 20.0% of total-time
Operation ival-div, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-and, time spent: 0.0ms, 0.0% of total-time

sample1.7s (43.5%)

Results
1.5s8251×0valid
1.0ms2valid
2.0ms3valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 898.0ms
Operation ival-sin, time spent: 227.0ms, 25.0% of total-time
Operation ival-cos, time spent: 187.0ms, 21.0% of total-time
Operation ival-add, time spent: 149.0ms, 17.0% of total-time
Operation ival-mult, time spent: 141.0ms, 16.0% of total-time
Operation ival-<=, time spent: 85.0ms, 9.0% of total-time
Operation ival-div, time spent: 68.0ms, 8.0% of total-time
Operation const, time spent: 29.0ms, 3.0% of total-time
Operation ival-and, time spent: 13.0ms, 1.0% of total-time
Bogosity

preprocess1.1s (29.8%)

Algorithm
egg-herbie
Rules
2702×fma-def
1284×div-sub
856×times-frac
776×distribute-lft-neg-in
664×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(cos.f64 v)
00-0-(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
00-0-v
00-0-(sin.f64 v)
00-0-(*.f64 e (sin.f64 v))
00-0-(*.f64 e (cos.f64 v))
00-0-e
00-0-(+.f64 1 (*.f64 e (cos.f64 v)))
00-0-1
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
035339
177303
2147303
3311303
4836281
52902269
65180257
76152257
86430257
96572257
106606257
117042257
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 1 (*.f64 (neg.f64 e) (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 1 (*.f64 e (cos.f64 (neg.f64 v)))))
(neg.f64 (/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 1 (*.f64 (neg.f64 e) (cos.f64 v)))))
(neg.f64 (/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 1 (*.f64 e (cos.f64 (neg.f64 v))))))
(/.f64 (*.f64 v (sin.f64 e)) (+.f64 1 (*.f64 v (cos.f64 e))))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (sin.f64 v) (-.f64 (/.f64 1 e) (neg.f64 (cos.f64 v))))
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (sin.f64 v) (-.f64 (/.f64 1 e) (neg.f64 (cos.f64 v))))
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
(/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 1 (*.f64 (neg.f64 e) (cos.f64 v))))
(/.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (+.f64 1 (*.f64 (cos.f64 v) (neg.f64 e))))
(/.f64 (*.f64 e (neg.f64 (sin.f64 v))) (fma.f64 (cos.f64 v) (neg.f64 e) 1))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) (neg.f64 e) 1)) (neg.f64 e))
(*.f64 (sin.f64 v) (/.f64 (neg.f64 e) (-.f64 1 (*.f64 e (cos.f64 v)))))
(/.f64 (sin.f64 v) (-.f64 (cos.f64 v) (/.f64 1 e)))
(/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 1 (*.f64 e (cos.f64 (neg.f64 v)))))
(/.f64 e (/.f64 (+.f64 1 (*.f64 e (cos.f64 v))) (neg.f64 (sin.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (neg.f64 (sin.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) (neg.f64 e))
(*.f64 (sin.f64 v) (/.f64 (neg.f64 e) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (sin.f64 v) (-.f64 (/.f64 -1 e) (cos.f64 v)))
(neg.f64 (/.f64 (*.f64 (neg.f64 e) (sin.f64 v)) (+.f64 1 (*.f64 (neg.f64 e) (cos.f64 v)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 v) (neg.f64 e))) (+.f64 1 (*.f64 (cos.f64 v) (neg.f64 e))))
(/.f64 (*.f64 e (sin.f64 v)) (fma.f64 (cos.f64 v) (neg.f64 e) 1))
(*.f64 (/.f64 e (fma.f64 (cos.f64 v) (neg.f64 e) 1)) (sin.f64 v))
(*.f64 (sin.f64 v) (/.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))))
(/.f64 (sin.f64 v) (-.f64 (/.f64 1 e) (cos.f64 v)))
(neg.f64 (/.f64 (*.f64 e (sin.f64 (neg.f64 v))) (+.f64 1 (*.f64 e (cos.f64 (neg.f64 v))))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (sin.f64 v) (-.f64 (/.f64 1 e) (neg.f64 (cos.f64 v))))
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
(/.f64 (*.f64 v (sin.f64 e)) (+.f64 1 (*.f64 v (cos.f64 e))))
(/.f64 v (/.f64 (+.f64 1 (*.f64 v (cos.f64 e))) (sin.f64 e)))
(*.f64 (/.f64 v (fma.f64 v (cos.f64 e) 1)) (sin.f64 e))
(*.f64 (sin.f64 e) (/.f64 v (fma.f64 v (cos.f64 e) 1)))
(*.f64 v (/.f64 (sin.f64 e) (fma.f64 v (cos.f64 e) 1)))
Symmetry

(negabs v)

Compiler

Compiled 83 to 35 computations (57.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 768.0ms
Operation ival-cos, time spent: 306.0ms, 40.0% of total-time
Operation ival-sin, time spent: 265.0ms, 35.0% of total-time
Operation ival-add, time spent: 105.0ms, 14.0% of total-time
Operation ival-mult, time spent: 54.0ms, 7.0% of total-time
Operation ival-div, time spent: 25.0ms, 3.0% of total-time
Operation const, time spent: 13.0ms, 2.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 60 to 29 computations (51.7% saved)

prune2.0ms (0.1%)

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

Compiled 36 to 25 computations (30.6% saved)

localize660.0ms (17.3%)

Compiler

Compiled 89 to 33 computations (62.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 477.0ms
Operation ival-cos, time spent: 107.0ms, 22.0% of total-time
Operation ival-add, time spent: 100.0ms, 21.0% of total-time
Operation ival-div, time spent: 92.0ms, 19.0% of total-time
Operation ival-sin, time spent: 82.0ms, 17.0% of total-time
Operation ival-fma, time spent: 60.0ms, 13.0% of total-time
Operation ival-mult, time spent: 20.0ms, 4.0% of total-time
Operation const, time spent: 16.0ms, 3.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked033
Done000
Total033
Accuracy
99.8%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
99.6%
(/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))
99.6%
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
Compiler

Compiled 68 to 42 computations (38.2% saved)

regimes11.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Calls

3 calls:

3.0ms
v
3.0ms
e
3.0ms
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Results
AccuracySegmentsBranch
99.8%1e
99.8%1v
99.8%1(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes7.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
Outputs
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
Calls

2 calls:

4.0ms
e
2.0ms
v
Results
AccuracySegmentsBranch
99.6%1e
99.6%1v
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01881
12781
Stop Event
done
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sin.f64 v) (+.f64 (/.f64 1 e) (cos.f64 v)))
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
Compiler

Compiled 24 to 17 computations (29.2% saved)

soundness288.0ms (7.5%)

Rules
2702×fma-def
1284×div-sub
856×times-frac
776×distribute-lft-neg-in
664×sub-neg
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
035339
177303
2147303
3311303
4836281
52902269
65180257
76152257
86430257
96572257
106606257
117042257
Stop Event
node limit
Compiler

Compiled 249 to 117 computations (53% saved)

end0.0ms (0%)

preprocess36.0ms (1%)

Remove

(negabs v)

Compiler

Compiled 148 to 98 computations (33.8% saved)

Profiling

Loading profile data...