Falkner and Boettcher, Appendix B, 1

Time bar (total: 5.2s)

analyze422.0ms (8.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%100%0%0%0%0%3
0%0%100%0%0%0%0%4
0%0%100%0%0%0%0%5
0%0%100%0%0%0%0%6
0%0%100%0%0%0%0%7
0%0%100%0%0%0%0%8
0%0%100%0%0%0%0%9
0%0%100%0%0%0%0%10
0%0%100%0%0%0%0%11
0%0%100%0%0%0%0%12
Compiler

Compiled 16 to 10 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 234.0ms
ival-mult: 72.0ms (30.8% of total)
ival-acos: 68.0ms (29.1% of total)
ival-sub: 47.0ms (20.1% of total)
ival-div: 41.0ms (17.6% of total)
const: 6.0ms (2.6% of total)

sample4.3s (82.8%)

Results
1.7s4108×2048valid
973.0ms2093×1024valid
621.0ms8463×256invalid
225.0ms1006×512valid
89.0ms1047×256valid
6.0ms4096valid
Precisions
Click to see histograms. Total time spent on operations: 2.9s
ival-acos: 1.2s (39.1% of total)
ival-mult: 1.0s (34.5% of total)
ival-sub: 393.0ms (13.4% of total)
ival-div: 333.0ms (11.3% of total)
const: 51.0ms (1.7% of total)
Bogosity

preprocess147.0ms (2.8%)

Algorithm
egg-herbie
Rules
586×fma-neg
504×sub-neg
432×fma-define
359×unsub-neg
342×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022200
169200
2188184
3652184
42521184
55095184
66375184
77330184
Stop Event
node limit
Calls
Call 1
Inputs
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 (neg.f64 v) (neg.f64 v)))) (-.f64 (*.f64 (neg.f64 v) (neg.f64 v)) #s(literal 1 binary64))))
(neg.f64 (acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 (neg.f64 v) (neg.f64 v)))) (-.f64 (*.f64 (neg.f64 v) (neg.f64 v)) #s(literal 1 binary64)))))
Outputs
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
(acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5 binary64) (*.f64 v v))) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 v v) #s(literal -5 binary64))) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (fma.f64 (*.f64 v v) #s(literal -5 binary64) #s(literal 1 binary64)) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
(acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5 binary64) (*.f64 v v))) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 v v) #s(literal -5 binary64))) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (fma.f64 (*.f64 v v) #s(literal -5 binary64) #s(literal 1 binary64)) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 (neg.f64 v) (neg.f64 v)))) (-.f64 (*.f64 (neg.f64 v) (neg.f64 v)) #s(literal 1 binary64))))
(acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5 binary64) (*.f64 v v))) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 v v) #s(literal -5 binary64))) (fma.f64 v v #s(literal -1 binary64))))
(acos.f64 (/.f64 (fma.f64 (*.f64 v v) #s(literal -5 binary64) #s(literal 1 binary64)) (fma.f64 v v #s(literal -1 binary64))))
(neg.f64 (acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 (neg.f64 v) (neg.f64 v)))) (-.f64 (*.f64 (neg.f64 v) (neg.f64 v)) #s(literal 1 binary64)))))
(neg.f64 (acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5 binary64) (*.f64 v v))) (fma.f64 v v #s(literal -1 binary64)))))
(neg.f64 (acos.f64 (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 v v) #s(literal -5 binary64))) (fma.f64 v v #s(literal -1 binary64)))))
(neg.f64 (acos.f64 (/.f64 (fma.f64 (*.f64 v v) #s(literal -5 binary64) #s(literal 1 binary64)) (fma.f64 v v #s(literal -1 binary64)))))
Symmetry

(abs v)

explain304.0ms (5.8%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
7247(6.208939175953316e-184)0-(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
00-0-(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v)))
00-0-(-.f64 (*.f64 v v) #s(literal 1 binary64))
00-0-v
00-0-(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64)))
00-0-(*.f64 v v)
00-0-#s(literal 5 binary64)
00-0-#s(literal 1 binary64)
00-0-(*.f64 #s(literal 5 binary64) (*.f64 v v))
Results
133.0ms270×2048valid
39.0ms130×1024valid
12.0ms66×512valid
4.0ms46×256valid
Compiler

Compiled 119 to 29 computations (75.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 113.0ms
ival-acos: 45.0ms (39.8% of total)
ival-mult: 29.0ms (25.7% of total)
ival-sub: 22.0ms (19.5% of total)
ival-div: 14.0ms (12.4% of total)
const: 3.0ms (2.7% of total)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
Compiler

Compiled 30 to 18 computations (40% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×neg-mul-1
10×unsub-neg
*-commutative
+-commutative
distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01453
12753
24153
35553
47453
510153
610953
711153
Stop Event
saturated
Calls
Call 1
Inputs
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
Outputs
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (-.f64 (*.f64 v v) #s(literal 1 binary64))))
(acos.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 5 binary64) (*.f64 v v))) (+.f64 (*.f64 v v) #s(literal -1 binary64))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 15 to 10 computations (33.3% saved)

preprocess20.0ms (0.4%)

Remove

(abs v)

Compiler

Compiled 120 to 78 computations (35% saved)

end0.0ms (0%)

Profiling

Loading profile data...