VandenBroeck and Keller, Equation (23)

Time bar (total: 5.5s)

analyze320.0ms (5.8%)

Memory
7.7MiB live, 121.6MiB allocated
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 60 to 43 computations (28.3% saved)

sample4.9s (88.7%)

Memory
-50.5MiB live, 1 362.8MiB allocated
Samples
1.3s8 255×0valid-baseline
1.3s8 255×0valid-rival
918.0ms8 255×0valid-sollya
0.0ms0valid-rival+sollya-real
Precisions
Click to see Rival histograms. Total time spent on operations: 1.1s
ival-mult: 208.0ms (19.7% of total)
ival-tan: 188.0ms (17.8% of total)
ival-sin: 161.0ms (15.3% of total)
ival-div: 158.0ms (15% of total)
ival-pow: 155.0ms (14.7% of total)
ival-add: 101.0ms (9.6% of total)
ival-neg: 67.0ms (6.4% of total)
ival-true: 8.0ms (0.8% of total)
...in/eval/compile.rkt:110:19: 6.0ms (0.6% of total)
ival-assert: 4.0ms (0.4% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 1.2s
ival-sin: 332.0ms (27.4% of total)
ival-mult: 200.0ms (16.5% of total)
ival-div: 170.0ms (14% of total)
ival-tan: 167.0ms (13.8% of total)
ival-pow: 145.0ms (12% of total)
ival-add: 111.0ms (9.2% of total)
ival-neg: 71.0ms (5.9% of total)
const: 14.0ms (1.2% of total)
Bogosity

preprocess273.0ms (5%)

Memory
-3.7MiB live, 28.2MiB allocated
Algorithm
egg-herbie
Rules
1 602×fma-define
730×fmm-def
460×times-frac
281×distribute-lft-in
274×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0901030
1230848
2632828
31520828
43662828
55782828
66347828
76649828
86763828
96771828
107866828
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)))
(fma.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 (neg.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)

Compiler

Compiled 30 to 20 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.6%
(+.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%)

Memory
1.0MiB live, 1.0MiB allocated
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%)

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

Compiled 26 to 18 computations (30.8% saved)

preprocess23.0ms (0.4%)

Memory
-5.6MiB live, 25.8MiB allocated
Remove

(negabs B)

Compiler

Compiled 216 to 148 computations (31.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...