VandenBroeck and Keller, Equation (23)

Time bar (total: 3.6s)

analyze559.0ms (15.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
12.5%12.5%87.4%0.1%0%0%0%6
15.6%15.6%84.3%0.1%0%0%0%7
16.7%15.6%78%0.1%0%6.2%0%8
25%23.4%70.2%0.1%0%6.2%0%9
29.7%26.9%63.6%0.1%0%9.4%0%10
30.8%26.9%60.5%0.1%0%12.5%0%11
35.9%31.4%56%0.1%0%12.5%0%12
Compiler

Compiled 31 to 21 computations (32.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 364.0ms
ival-pow: 103.0ms (28.3% of total)
ival-mult: 80.0ms (22% of total)
ival-tan: 49.0ms (13.5% of total)
ival-add: 41.0ms (11.3% of total)
ival-div: 37.0ms (10.2% of total)
ival-neg: 29.0ms (8% of total)
ival-sin: 21.0ms (5.8% of total)
const: 4.0ms (1.1% of total)

sample2.5s (68.7%)

Results
2.0s8256×256valid
47.0ms286×256invalid
Precisions
Click to see histograms. Total time spent on operations: 1.7s
ival-div: 472.0ms (27.1% of total)
ival-pow: 278.0ms (16% of total)
ival-mult: 268.0ms (15.4% of total)
ival-tan: 217.0ms (12.5% of total)
ival-sin: 203.0ms (11.7% of total)
ival-neg: 155.0ms (8.9% of total)
ival-add: 135.0ms (7.7% of total)
const: 14.0ms (0.8% of total)
Bogosity

preprocess279.0ms (7.8%)

Algorithm
egg-herbie
Rules
1602×fma-define
730×fma-neg
462×times-frac
281×distribute-lft-in
274×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0901030
1230848
2632828
31520828
43665828
55788828
66350828
76647828
86761828
96769828
107864828
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 (neg.f64 F) (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 (neg.f64 F) (neg.f64 F)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (*.f64 (/.f64 F (sin.f64 (neg.f64 B))) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(neg.f64 (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 (neg.f64 F) (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 (neg.f64 F) (neg.f64 F)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))))
(neg.f64 (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (*.f64 (/.f64 F (sin.f64 (neg.f64 B))) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))))
(neg.f64 (+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 F)))) (*.f64 (/.f64 B (sin.f64 F)) (pow.f64 (+.f64 (+.f64 (*.f64 B B) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (neg.f64 (*.f64 F (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 x (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) F)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (neg.f64 (*.f64 B (/.f64 #s(literal 1 binary64) (tan.f64 x)))) (*.f64 (/.f64 F (sin.f64 x)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) B)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
Outputs
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)) (neg.f64 x)))
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64))) (/.f64 x (tan.f64 B)))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)) (neg.f64 x)))
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64))) (/.f64 x (tan.f64 B)))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 (neg.f64 F) (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 (neg.f64 F) (neg.f64 F)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 (neg.f64 F) (sin.f64 B))) (*.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)) (neg.f64 x)))
(-.f64 (*.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 F (neg.f64 (sin.f64 B)))) (/.f64 x (tan.f64 B)))
(neg.f64 (fma.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 x (tan.f64 B))))
(neg.f64 (fma.f64 F (/.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 B)) (/.f64 x (tan.f64 B))))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (*.f64 (/.f64 F (sin.f64 (neg.f64 B))) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (neg.f64 (tan.f64 B)))) (*.f64 (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 F (neg.f64 (sin.f64 B)))))
(fma.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 F (neg.f64 (sin.f64 B))) (/.f64 x (tan.f64 B)))
(-.f64 (/.f64 x (tan.f64 B)) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64))))
(+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (neg.f64 x) (neg.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal -1/2 binary64))))
(fma.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 F F (+.f64 #s(literal 2 binary64) (*.f64 x #s(literal -2 binary64)))) #s(literal -1/2 binary64)) (/.f64 x (tan.f64 B)))
(fma.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal -2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 x (tan.f64 B)))
(neg.f64 (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 (neg.f64 F) (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 (neg.f64 F) (neg.f64 F)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))))
(neg.f64 (+.f64 (*.f64 (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 (neg.f64 F) (sin.f64 B))) (*.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)) (neg.f64 x))))
(-.f64 (/.f64 x (tan.f64 B)) (*.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 F (neg.f64 (sin.f64 B)))))
(fma.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 x (tan.f64 B)))
(fma.f64 F (/.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 B)) (/.f64 x (tan.f64 B)))
(neg.f64 (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (*.f64 (/.f64 F (sin.f64 (neg.f64 B))) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))))
(+.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)) (neg.f64 x)))
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64))) (/.f64 x (tan.f64 B)))
(neg.f64 (+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))))
(neg.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal -1/2 binary64)))))
(neg.f64 (fma.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 F F (+.f64 #s(literal 2 binary64) (*.f64 x #s(literal -2 binary64)))) #s(literal -1/2 binary64)) (/.f64 x (tan.f64 B))))
(neg.f64 (fma.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x #s(literal -2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 x (tan.f64 B))))
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 F)))) (*.f64 (/.f64 B (sin.f64 F)) (pow.f64 (+.f64 (+.f64 (*.f64 B B) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 F))) (*.f64 (/.f64 B (sin.f64 F)) (pow.f64 (+.f64 (*.f64 x #s(literal 2 binary64)) (fma.f64 B B #s(literal 2 binary64))) #s(literal -1/2 binary64))))
(fma.f64 (/.f64 B (sin.f64 F)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 B B #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 x (neg.f64 (tan.f64 F))))
(-.f64 (*.f64 (/.f64 B (sin.f64 F)) (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 B B #s(literal 2 binary64))) #s(literal -1/2 binary64))) (/.f64 x (tan.f64 F)))
(-.f64 (*.f64 B (/.f64 (pow.f64 (fma.f64 x #s(literal 2 binary64) (fma.f64 B B #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 F))) (/.f64 x (tan.f64 F)))
(+.f64 (neg.f64 (*.f64 F (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 x (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) F)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 F (neg.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 x (sin.f64 B)) (pow.f64 (+.f64 (fma.f64 x x #s(literal 2 binary64)) (*.f64 F #s(literal 2 binary64))) #s(literal -1/2 binary64))))
(-.f64 (*.f64 (/.f64 x (sin.f64 B)) (pow.f64 (fma.f64 F #s(literal 2 binary64) (fma.f64 x x #s(literal 2 binary64))) #s(literal -1/2 binary64))) (/.f64 F (tan.f64 B)))
(-.f64 (*.f64 (/.f64 x (sin.f64 B)) (pow.f64 (fma.f64 x x (fma.f64 F #s(literal 2 binary64) #s(literal 2 binary64))) #s(literal -1/2 binary64))) (/.f64 F (tan.f64 B)))
(+.f64 (neg.f64 (*.f64 B (/.f64 #s(literal 1 binary64) (tan.f64 x)))) (*.f64 (/.f64 F (sin.f64 x)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) B)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (neg.f64 B) (/.f64 #s(literal 1 binary64) (tan.f64 x))) (*.f64 (/.f64 F (sin.f64 x)) (pow.f64 (+.f64 (fma.f64 F F #s(literal 2 binary64)) (*.f64 B #s(literal 2 binary64))) #s(literal -1/2 binary64))))
(fma.f64 (/.f64 F (sin.f64 x)) (pow.f64 (fma.f64 B #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (/.f64 B (neg.f64 (tan.f64 x))))
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 B #s(literal 2 binary64) (fma.f64 F F #s(literal 2 binary64))) #s(literal -1/2 binary64)) (sin.f64 x))) (/.f64 B (tan.f64 x)))
Symmetry

(negabs B)

explain255.0ms (7.1%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
6772(-6.057051264013773e+88 2.1585703705205243e+250 -8.0451085321357e-239)0-(pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))
270-0-(*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))
00-0-(sin.f64 B)
00-0-x
00-0-B
00-0-(/.f64 #s(literal 1 binary64) (tan.f64 B))
00-0-#s(literal 2 binary64)
00-0-(+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x))
00-0-(/.f64 F (sin.f64 B))
00-0-(/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
00-0-(tan.f64 B)
00-0-F
00-0-(neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))
00-0-(*.f64 F F)
00-0-(*.f64 #s(literal 2 binary64) x)
00-0-(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
00-0-(neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B))))
00-0-(+.f64 (*.f64 F F) #s(literal 2 binary64))
00-0-(*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))
00-0-#s(literal 1 binary64)
Results
165.0ms512×256valid
Compiler

Compiled 272 to 62 computations (77.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 119.0ms
ival-pow: 55.0ms (46.4% of total)
ival-mult: 14.0ms (11.8% of total)
ival-div: 13.0ms (11% of total)
ival-tan: 13.0ms (11% of total)
ival-sin: 11.0ms (9.3% of total)
ival-add: 8.0ms (6.7% of total)
ival-neg: 5.0ms (4.2% of total)
const: 1.0ms (0.8% of total)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
81.1%
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
Compiler

Compiled 60 to 40 computations (33.3% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02994
14790
26190
37090
47890
59890
612690
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
Outputs
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))))
(+.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64))))
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B))))
(+.f64 (*.f64 x (/.f64 #s(literal -1 binary64) (tan.f64 B))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal -1/2 binary64))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 26 to 18 computations (30.8% saved)

preprocess27.0ms (0.7%)

Remove

(negabs B)

Compiler

Compiled 216 to 148 computations (31.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...