Details

Time bar (total: 10.0s)

analyze570.0ms (5.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
12.5%87.3%0.2%9
18.7%81.1%0.2%10
18.7%72.9%8.4%11
18.7%72.9%8.4%12
Compiler

Compiled 20 to 15 computations (25% saved)

sample4.8s (48.4%)

Results
1.1s1684×body1024valid
1.1s5244×body256valid
985.0ms2041×body1024invalid
689.0ms3696×body256invalid
487.0ms1271×body512valid
356.0ms1026×body512invalid
76.0ms57×body2048valid

preprocess109.0ms (1.1%)

Algorithm
egg-herbie
Rules
822×times-frac_binary64
672×fma-def_binary64
476×associate-*l*_binary64
450×associate-*r*_binary64
437×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050154
1113154
2244154
3618154
41692154
54556154
67115154
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 (*.f64 l (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 (*.f64 K (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 J 2))) U)
(+.f64 (*.f64 (*.f64 U (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) J)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K)))) (cos.f64 (/.f64 l 2))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) (cos.f64 (/.f64 K 2))) l)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 U 2))) K)
Outputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J (cos.f64 (/.f64 K 2))) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 (*.f64 l (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) (cos.f64 (/.f64 K 2))) U)
(fma.f64 (*.f64 l (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) (cos.f64 (/.f64 K 2)) U)
(fma.f64 l (*.f64 (cos.f64 (/.f64 K 2)) (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) U)
(+.f64 (*.f64 (*.f64 K (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 J 2))) U)
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) K) (cos.f64 (/.f64 J 2)) U)
(fma.f64 K (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 J 2))) U)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K (cos.f64 (/.f64 J 2))) U)
(+.f64 (*.f64 (*.f64 U (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) J)
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U) (cos.f64 (/.f64 K 2)) J)
(fma.f64 (cos.f64 (/.f64 K 2)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U) J)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (/.f64 K 2)) U) J)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K)))) (cos.f64 (/.f64 l 2))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K)))) (cos.f64 (/.f64 l 2)) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K))) (cos.f64 (/.f64 l 2))) U)
(fma.f64 (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K))) (*.f64 J (cos.f64 (/.f64 l 2))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) (cos.f64 (/.f64 K 2))) l)
(fma.f64 (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) (cos.f64 (/.f64 K 2)) l)
(fma.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) l)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 U 2))) K)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 U 2)) K)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 U 2))) K)
Compiler

Compiled 23 to 18 computations (21.7% saved)

simplify89.0ms (0.9%)

Algorithm
egg-herbie
Rules
745×fma-def_binary64
464×fma-neg_binary64
403×associate-/l*_binary64
401×times-frac_binary64
369×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01522
12922
25522
312122
430922
577722
6204522
7386922
8630122
9796922
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
Outputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)) U)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J (cos.f64 (/.f64 K 2))) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K 2))) U)

eval1.0ms (0%)

Compiler

Compiled 33 to 19 computations (42.4% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
14.4b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
14.4b
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
Compiler

Compiled 19 to 14 computations (26.3% saved)

localize22.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
0.0b
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
6.6b
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
Compiler

Compiled 65 to 24 computations (63.1% saved)

series13.0ms (0.1%)

Counts
3 → 68
Calls

18 calls:

TimeVariablePointExpression
2.0ms
J
@0
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
1.0ms
J
@-inf
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
1.0ms
l
@0
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
1.0ms
l
@inf
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
1.0ms
K
@0
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))

rewrite122.0ms (1.2%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
143×add-sqr-sqrt_binary64
143×add-sqr-sqrt_binary64
136×*-un-lft-identity_binary64
136×pow1_binary64
136×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01318
127718
2431918
066
11306
221886
066
01317
127717
2431817
01317
089
11699
227699
089
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 25
Calls
Call 1
Inputs
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 l) (neg.f64 (exp.f64 (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 2 (sinh.f64 l))) (cbrt.f64 (*.f64 2 (sinh.f64 l)))) (cbrt.f64 (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (sinh.f64 l))) (sqrt.f64 (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (sinh.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 l) 3) (pow.f64 (exp.f64 (neg.f64 l)) 3)) (+.f64 (*.f64 (exp.f64 l) (exp.f64 l)) (+.f64 (*.f64 (exp.f64 (neg.f64 l)) (exp.f64 (neg.f64 l))) (*.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 l) (exp.f64 l)) (*.f64 (exp.f64 (neg.f64 l)) (exp.f64 (neg.f64 l)))) (+.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (sinh.f64 l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 2 (sinh.f64 l))) (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (sinh.f64 l))))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))) (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 J (*.f64 2 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (*.f64 J (*.f64 2 (sinh.f64 l)))) (*.f64 J (*.f64 2 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 J (*.f64 2 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 J (*.f64 2 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 J (*.f64 2 (sinh.f64 l)))))))))

simplify76.0ms (0.8%)

Algorithm
egg-herbie
Rules
679×fma-def_binary64
502×unsub-neg_binary64
372×distribute-rgt-neg-out_binary64
362×associate-*l*_binary64
359×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851386
12521333
27601261
331431225
464301225
Stop Event
node limit
Counts
93 → 60
Calls
Call 1
Inputs
(*.f64 2 l)
(+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l))
(+.f64 (*.f64 1/3 (pow.f64 l 3)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 2 l)))
(+.f64 (*.f64 1/3 (pow.f64 l 3)) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 2 l))))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (+.f64 (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)))))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
Outputs
(*.f64 2 l)
(+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l))
(fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l))
(fma.f64 2 l (*.f64 1/3 (pow.f64 l 3)))
(+.f64 (*.f64 1/3 (pow.f64 l 3)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 2 l)))
(fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/60 (pow.f64 l 5) (*.f64 2 l)))
(fma.f64 1/3 (pow.f64 l 3) (fma.f64 2 l (*.f64 1/60 (pow.f64 l 5))))
(fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))
(fma.f64 2 l (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3))))
(+.f64 (*.f64 1/3 (pow.f64 l 3)) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 2 l))))
(fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 1/60 (pow.f64 l 5) (*.f64 2 l))))
(fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 2 l (*.f64 1/60 (pow.f64 l 5)))))
(fma.f64 1/3 (pow.f64 l 3) (fma.f64 2 l (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/2520 (pow.f64 l 7)))))
(fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/60 (pow.f64 l 5) (fma.f64 1/2520 (pow.f64 l 7) (*.f64 2 l))))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
(-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(fma.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l)) J))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(fma.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (fma.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) (*.f64 (cos.f64 (*.f64 1/2 K)) J)))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 2 l (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3))))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (+.f64 (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)) (fma.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J)) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(fma.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (fma.f64 1/60 (*.f64 (pow.f64 l 5) (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (fma.f64 1/3 (*.f64 (pow.f64 l 3) (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (*.f64 1/2520 (*.f64 (pow.f64 l 7) (*.f64 (cos.f64 (*.f64 1/2 K)) J))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) J)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/2520 (pow.f64 l 7))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/60 (pow.f64 l 5) (fma.f64 1/2520 (pow.f64 l 7) (*.f64 2 l))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))))
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J (*.f64 (*.f64 -1/8 (*.f64 K K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)))
(*.f64 (+.f64 (*.f64 (*.f64 -1/8 K) K) 1) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (fma.f64 -1/8 (*.f64 K K) 1))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (fma.f64 (*.f64 K -1/8) K 1) J))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)))))
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J (fma.f64 -1/8 (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (*.f64 K K)) (*.f64 1/384 (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (pow.f64 K 4)))))
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 (*.f64 -1/8 K) K) (*.f64 1/384 (pow.f64 K 4)))))
(*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (*.f64 1/384 (pow.f64 K 4))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 J (*.f64 J (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4))))))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))))))
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J (fma.f64 -1/8 (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (*.f64 K K)) (fma.f64 -1/46080 (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (pow.f64 K 6)) (*.f64 1/384 (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (pow.f64 K 4))))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/8 K) K) 1) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/46080 (pow.f64 K 6)) (*.f64 1/384 (pow.f64 K 4)))))
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 K (*.f64 K -1/8)) (fma.f64 -1/46080 (pow.f64 K 6) (*.f64 1/384 (pow.f64 K 4))))))
(*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (fma.f64 (*.f64 K -1/8) K 1) (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 2 (*.f64 l J))
(*.f64 l (*.f64 J 2))
(*.f64 l (*.f64 2 J))
(*.f64 (*.f64 2 l) J)
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(fma.f64 2 (*.f64 l J) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(*.f64 J (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))))
(*.f64 (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) J)
(*.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l)) J)
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/3 (*.f64 (pow.f64 l 3) J) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(fma.f64 2 (*.f64 l J) (*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (fma.f64 2 l (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3)))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/2520 (*.f64 (pow.f64 l 7) J) (fma.f64 1/3 (*.f64 (pow.f64 l 3) J) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/2520 (*.f64 (pow.f64 l 7) J) (*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (fma.f64 1/3 (pow.f64 l 3) (fma.f64 2 l (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/2520 (pow.f64 l 7))))))
(*.f64 J (fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/60 (pow.f64 l 5) (fma.f64 1/2520 (pow.f64 l 7) (*.f64 2 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)

eval24.0ms (0.2%)

Compiler

Compiled 1282 to 788 computations (38.5% saved)

prune17.0ms (0.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New54660
Fresh000
Picked101
Done000
Total55661
Error
0.0b
Counts
61 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.7b
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
0.7b
(+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U)
0.0b
(+.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))) U)
0.4b
(+.f64 (*.f64 (*.f64 J (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (sinh.f64 l))) (cbrt.f64 (*.f64 2 (sinh.f64 l)))) (cbrt.f64 (*.f64 2 (sinh.f64 l))))) (cos.f64 (/.f64 K 2))) U)
14.5b
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
0.0b
(+.f64 (pow.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 1) U)
Compiler

Compiled 224 to 168 computations (25% saved)

localize32.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sinh.f64 l)
0.1b
(*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))
0.1b
(*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))
Compiler

Compiled 72 to 47 computations (34.7% saved)

series27.0ms (0.3%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
5.0ms
l
@inf
(*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))
4.0ms
K
@-inf
(*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))
3.0ms
l
@0
(*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))
2.0ms
J
@0
(*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))
2.0ms
l
@inf
(*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))

rewrite66.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
375×pow-prod-down_binary64
312×pow2_binary64
240×pow-unpow_binary64
222×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01234
124534
2290134
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))
(*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))
(sinh.f64 l)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 4 (pow.f64 (*.f64 (sinh.f64 l) (cos.f64 (*.f64 K 1/2))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 4 (pow.f64 (*.f64 (sinh.f64 l) (cos.f64 (*.f64 K 1/2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (cos.f64 (*.f64 K 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 2 (cos.f64 (*.f64 K 1/2))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 (cos.f64 (*.f64 K 1/2)) J))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sinh.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sinh.f64 l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sinh.f64 l)))) (log.f64 (sqrt.f64 (exp.f64 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sinh.f64 l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 l) 2) (/.f64 (exp.f64 (neg.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sinh.f64 (exp.f64 (log1p.f64 l))) (cosh.f64 1)) (*.f64 (cosh.f64 (exp.f64 (log1p.f64 l))) (sinh.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sinh.f64 l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sinh.f64 l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sinh.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sinh.f64 l)) (pow.f64 (cbrt.f64 (sinh.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sinh.f64 l)) 2) (cbrt.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sinh.f64 l)) (sqrt.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sinh.f64 l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (sinh.f64 l))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sinh.f64 l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sinh.f64 l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sinh.f64 l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sinh.f64 l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sinh.f64 l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (*.f64 2 (sinh.f64 l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sinh.f64 l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sinh.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sinh.f64 l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sinh.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (sinh.f64 l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (sinh.f64 l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (sinh.f64 l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sinh.f64 l)) 1) 1))))))

simplify87.0ms (0.9%)

Algorithm
egg-herbie
Rules
786×fma-def_binary64
616×fma-neg_binary64
459×associate-*l*_binary64
397×distribute-rgt-in_binary64
393×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01021680
12881612
29191501
341311436
475081436
Stop Event
node limit
Counts
147 → 118
Calls
Call 1
Inputs
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l))
(+.f64 (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l)))
(+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5))) (+.f64 (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l))))
(+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5))) (+.f64 (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l)) (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 7))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))
(-.f64 (+.f64 (exp.f64 l) (*.f64 -1/8 (*.f64 (pow.f64 K 2) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (/.f64 1 (exp.f64 l)))
(-.f64 (+.f64 (exp.f64 l) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))) (/.f64 1 (exp.f64 l)))
(-.f64 (+.f64 (exp.f64 l) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))) (/.f64 1 (exp.f64 l)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (+.f64 (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
l
(+.f64 (*.f64 1/6 (pow.f64 l 3)) l)
(+.f64 (*.f64 1/6 (pow.f64 l 3)) (+.f64 l (*.f64 1/120 (pow.f64 l 5))))
(+.f64 (*.f64 1/6 (pow.f64 l 3)) (+.f64 (*.f64 1/5040 (pow.f64 l 7)) (+.f64 l (*.f64 1/120 (pow.f64 l 5)))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
Outputs
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l))
(+.f64 (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l)))
(fma.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3)) (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l)))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) 1/3)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 l) (*.f64 1/3 (pow.f64 l 3))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l)))
(+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5))) (+.f64 (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l))))
(fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5)) (fma.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3)) (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l))))
(fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5)) (fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) 1/3))))
(fma.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 1/3 (pow.f64 l 3)) (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 l) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 1/3 (pow.f64 l 3)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 2 l))))
(+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5))) (+.f64 (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l)) (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 7))))))
(fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 5)) (fma.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3)) (fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) l) (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 7))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 l) (*.f64 1/3 (pow.f64 l 3)))) (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l)) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
(-.f64 (+.f64 (exp.f64 l) (*.f64 -1/8 (*.f64 (pow.f64 K 2) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (/.f64 1 (exp.f64 l)))
(+.f64 (exp.f64 l) (-.f64 (*.f64 -1/8 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K))) (exp.f64 (neg.f64 l))))
(-.f64 (fma.f64 -1/8 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K)) (exp.f64 l)) (exp.f64 (neg.f64 l)))
(*.f64 (fma.f64 -1/8 (*.f64 K K) 1) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(-.f64 (+.f64 (exp.f64 l) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))) (/.f64 1 (exp.f64 l)))
(+.f64 (exp.f64 l) (-.f64 (fma.f64 -1/8 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K)) (*.f64 1/384 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (pow.f64 K 4)))) (exp.f64 (neg.f64 l))))
(+.f64 (exp.f64 l) (-.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 (*.f64 -1/8 (*.f64 K K)) (*.f64 1/384 (pow.f64 K 4)))) (exp.f64 (neg.f64 l))))
(-.f64 (fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4))) (exp.f64 l)) (exp.f64 (neg.f64 l)))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 (*.f64 1/384 (pow.f64 K 4)) (fma.f64 -1/8 (*.f64 K K) 1)))
(-.f64 (+.f64 (exp.f64 l) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))) (*.f64 1/384 (*.f64 (pow.f64 K 4) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))) (/.f64 1 (exp.f64 l)))
(+.f64 (exp.f64 l) (-.f64 (fma.f64 -1/8 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K)) (fma.f64 -1/46080 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (pow.f64 K 6)) (*.f64 1/384 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (pow.f64 K 4))))) (exp.f64 (neg.f64 l))))
(+.f64 (exp.f64 l) (-.f64 (fma.f64 -1/8 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 (*.f64 1/384 (pow.f64 K 4)) (*.f64 -1/46080 (pow.f64 K 6))))) (exp.f64 (neg.f64 l))))
(+.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4))) (*.f64 -1/46080 (pow.f64 K 6)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (*.f64 (pow.f64 l 3) J) 1/3)))
(*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 l) (*.f64 1/3 (pow.f64 l 3)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (fma.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)))))
(fma.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) (*.f64 1/3 J)) (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 l) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 1/3 (pow.f64 l 3)) (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 2 l)))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (+.f64 (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)) (fma.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J)) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)) (fma.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (*.f64 (pow.f64 l 7) J) 1/2520)))))
(+.f64 (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/2520 (pow.f64 l 7))))) (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 l) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l)) (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (+.f64 (*.f64 -1/8 (*.f64 K K)) 1) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (*.f64 (fma.f64 -1/8 (*.f64 K K) 1) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) J)
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (fma.f64 -1/8 (*.f64 K K) 1) J))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (fma.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/8 (*.f64 K K)) (*.f64 1/384 (pow.f64 K 4)))))
(*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (*.f64 1/384 (pow.f64 K 4))))
(*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 1/384 (pow.f64 K 4)) (fma.f64 -1/8 (*.f64 K K) 1)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))))
(fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (fma.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (*.f64 -1/46080 (pow.f64 K 6)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/46080 (pow.f64 K 6)) 1) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (+.f64 (*.f64 -1/8 (*.f64 K K)) (*.f64 1/384 (pow.f64 K 4)))))
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4))) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) (fma.f64 -1/46080 (pow.f64 K 6) 1)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J))
l
(+.f64 (*.f64 1/6 (pow.f64 l 3)) l)
(fma.f64 1/6 (pow.f64 l 3) l)
(fma.f64 (pow.f64 l 3) 1/6 l)
(+.f64 (*.f64 1/6 (pow.f64 l 3)) (+.f64 l (*.f64 1/120 (pow.f64 l 5))))
(+.f64 (fma.f64 1/6 (pow.f64 l 3) l) (*.f64 (pow.f64 l 5) 1/120))
(fma.f64 (pow.f64 l 3) 1/6 (fma.f64 (pow.f64 l 5) 1/120 l))
(+.f64 (*.f64 1/6 (pow.f64 l 3)) (+.f64 (*.f64 1/5040 (pow.f64 l 7)) (+.f64 l (*.f64 1/120 (pow.f64 l 5)))))
(fma.f64 1/6 (pow.f64 l 3) (fma.f64 1/5040 (pow.f64 l 7) (+.f64 l (*.f64 (pow.f64 l 5) 1/120))))
(fma.f64 (pow.f64 l 3) 1/6 (fma.f64 (pow.f64 l 7) 1/5040 (fma.f64 (pow.f64 l 5) 1/120 l)))
(fma.f64 (pow.f64 l 3) 1/6 (fma.f64 (pow.f64 l 5) 1/120 (fma.f64 (pow.f64 l 7) 1/5040 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))
(*.f64 1/2 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 1/2 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(fma.f64 1/2 (exp.f64 l) (/.f64 -1/2 (exp.f64 l)))

localize24.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
0.1b
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
0.1b
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
Compiler

Compiled 53 to 35 computations (34% saved)

series14.0ms (0.1%)

Counts
3 → 76
Calls

24 calls:

TimeVariablePointExpression
1.0ms
J
@inf
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
1.0ms
l
@inf
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
1.0ms
l
@0
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
1.0ms
J
@inf
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
1.0ms
J
@0
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))

rewrite66.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
428×exp-prod_binary64
378×prod-exp_binary64
340×pow-prod-down_binary64
280×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
122236
2257936
Stop Event
node limit
Counts
3 → 89
Calls
Call 1
Inputs
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
(*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 (*.f64 1/2 K)) J))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (cos.f64 (*.f64 1/2 K)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (cos.f64 (*.f64 1/2 K))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (cos.f64 (*.f64 1/2 K))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (cos.f64 (*.f64 1/2 K))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 J) (cos.f64 (*.f64 1/2 K))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 (*.f64 1/2 K))) 1) (log.f64 J)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 1/2 K))) (*.f64 (log.f64 J) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 (*.f64 1/2 K))) 1) (*.f64 (log.f64 J) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (log.f64 (cos.f64 (*.f64 1/2 K)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 J) (*.f64 (log.f64 (cos.f64 (*.f64 1/2 K))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (*.f64 (log.f64 (cos.f64 (*.f64 1/2 K))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (*.f64 (cos.f64 (*.f64 1/2 K)) l))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (*.f64 (cos.f64 (*.f64 1/2 K)) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (*.f64 (cos.f64 (*.f64 1/2 K)) l)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (*.f64 (cos.f64 (*.f64 1/2 K)) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 J) (*.f64 (cos.f64 (*.f64 1/2 K)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1) (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) (*.f64 (log.f64 l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1) (*.f64 (log.f64 l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 l) 1) (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 l) (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 l) 1) (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) l)) (*.f64 (log.f64 J) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 2) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J) (*.f64 l 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1) (log.f64 (*.f64 l 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 l 2)) (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) J)) 1)))))))

simplify159.0ms (1.6%)

Algorithm
egg-herbie
Rules
796×unswap-sqr_binary64
651×*-commutative_binary64
522×distribute-lft-out_binary64
478×fma-def_binary64
456×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0511128
11491108
24961073
319861066
430941066
537061066
639621066
745661066
852401066
955481066
1059241066
1175751066
Stop Event
node limit
Counts
165 → 116
Calls
Call 1
Inputs
J
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) J)) J)
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) J)) J))
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) J)) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) J)) J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 l J)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J)))
(+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 l J))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 -1/23040 (*.f64 (pow.f64 K 6) (*.f64 l J))))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
Outputs
J
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) J)) J)
(fma.f64 -1/8 (*.f64 J (*.f64 K K)) J)
(*.f64 J (fma.f64 -1/8 (*.f64 K K) 1))
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) J)) J))
(fma.f64 1/384 (*.f64 J (pow.f64 K 4)) (fma.f64 -1/8 (*.f64 J (*.f64 K K)) J))
(fma.f64 J (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/8 (*.f64 K K))) J)
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) J)) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) J)) J)))
(fma.f64 1/384 (*.f64 J (pow.f64 K 4)) (fma.f64 -1/46080 (*.f64 J (pow.f64 K 6)) (fma.f64 -1/8 (*.f64 J (*.f64 K K)) J)))
(fma.f64 J (*.f64 1/384 (pow.f64 K 4)) (fma.f64 J (fma.f64 -1/46080 (pow.f64 K 6) (*.f64 -1/8 (*.f64 K K))) J))
(*.f64 J (+.f64 (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6))) (fma.f64 -1/8 (*.f64 K K) 1)))
(*.f64 J (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 l J)
(*.f64 J l)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))
(fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 J l)) (*.f64 J l))
(*.f64 (+.f64 (*.f64 -1/8 (*.f64 K K)) 1) (*.f64 J l))
(*.f64 (*.f64 J (fma.f64 -1/8 (*.f64 K K) 1)) l)
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J)))
(fma.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J l)) (fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 J l)) (*.f64 J l)))
(+.f64 (*.f64 J l) (*.f64 (*.f64 J l) (+.f64 (*.f64 1/384 (pow.f64 K 4)) (*.f64 -1/8 (*.f64 K K)))))
(*.f64 (*.f64 J l) (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (*.f64 1/384 (pow.f64 K 4))))
(*.f64 l (fma.f64 J (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/8 (*.f64 K K))) J))
(*.f64 (fma.f64 J (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/8 (*.f64 K K))) J) l)
(+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 l J))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))))
(fma.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 J l)) (fma.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J l)) (fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 J l)) (*.f64 J l))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (*.f64 K K)) 1) (*.f64 J l)) (*.f64 (*.f64 J l) (+.f64 (*.f64 -1/46080 (pow.f64 K 6)) (*.f64 1/384 (pow.f64 K 4)))))
(fma.f64 (fma.f64 -1/8 (*.f64 K K) 1) (*.f64 J l) (*.f64 J (*.f64 l (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6))))))
(*.f64 l (*.f64 J (+.f64 (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6))) (fma.f64 -1/8 (*.f64 K K) 1))))
(*.f64 J (*.f64 l (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/46080 (pow.f64 K 6))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l))
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 l J))
(*.f64 2 (*.f64 J l))
(*.f64 l (*.f64 J 2))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))))
(fma.f64 2 (*.f64 J l) (*.f64 (*.f64 -1/4 (*.f64 K K)) (*.f64 J l)))
(*.f64 (*.f64 J l) (+.f64 2 (*.f64 (*.f64 K K) -1/4)))
(*.f64 (*.f64 J l) (fma.f64 (*.f64 K K) -1/4 2))
(*.f64 J (*.f64 l (fma.f64 (*.f64 K K) -1/4 2)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 J l)) (*.f64 (*.f64 -1/4 (*.f64 K K)) (*.f64 J l))))
(fma.f64 2 (*.f64 J l) (*.f64 (*.f64 J l) (+.f64 (*.f64 (*.f64 K K) -1/4) (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 J l) (+.f64 (fma.f64 (*.f64 K K) -1/4 2) (*.f64 (pow.f64 K 4) 1/192)))
(*.f64 (*.f64 J l) (+.f64 (*.f64 (pow.f64 K 4) 1/192) (fma.f64 (*.f64 K K) -1/4 2)))
(*.f64 J (*.f64 l (+.f64 (*.f64 (pow.f64 K 4) 1/192) (fma.f64 (*.f64 K K) -1/4 2))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 -1/23040 (*.f64 (pow.f64 K 6) (*.f64 l J))))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 J l)) (fma.f64 -1/4 (*.f64 (*.f64 K K) (*.f64 J l)) (*.f64 (*.f64 (pow.f64 K 6) (*.f64 J l)) -1/23040))))
(+.f64 (*.f64 (*.f64 J l) (+.f64 (*.f64 (*.f64 K K) -1/4) (*.f64 (pow.f64 K 6) -1/23040))) (*.f64 (*.f64 J l) (+.f64 2 (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 J l) (+.f64 (+.f64 2 (*.f64 (pow.f64 K 4) 1/192)) (fma.f64 (*.f64 K K) -1/4 (*.f64 (pow.f64 K 6) -1/23040))))
(*.f64 (*.f64 J l) (+.f64 (*.f64 (pow.f64 K 4) 1/192) (+.f64 (*.f64 (pow.f64 K 6) -1/23040) (fma.f64 (*.f64 K K) -1/4 2))))
(*.f64 J (*.f64 l (+.f64 (*.f64 (pow.f64 K 4) 1/192) (+.f64 (*.f64 (pow.f64 K 6) -1/23040) (fma.f64 (*.f64 K K) -1/4 2)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 (*.f64 J l)))

localize24.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))
Compiler

Compiled 46 to 30 computations (34.8% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
l
@0
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))
0.0ms
K
@0
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))
0.0ms
l
@-inf
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))
0.0ms
l
@inf
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))
0.0ms
J
@-inf
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))

rewrite55.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
544×log-prod_binary64
398×exp-prod_binary64
393×prod-exp_binary64
348×pow-prod-down_binary64
268×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01015
120915
2255415
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 J 2)) l) (cos.f64 (*.f64 K 1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 J 2)) l) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 J 2)) l) (cos.f64 (*.f64 K 1/2))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 J 2)) l) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))))) (sqrt.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 J 2)) l) (cos.f64 (*.f64 K 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2))))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 K 1/2)))))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 l l)) 1) (log.f64 (*.f64 J (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 l J))) 1) (log.f64 (cos.f64 (*.f64 K 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 2 (*.f64 l J))) (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 l J))) 1) (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1) (log.f64 (*.f64 2 (*.f64 l J)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (log.f64 (*.f64 2 (*.f64 l J))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1) (*.f64 (log.f64 (*.f64 2 (*.f64 l J))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 J (cos.f64 (*.f64 K 1/2)))) (*.f64 (log.f64 (+.f64 l l)) 1)))))))

simplify133.0ms (1.3%)

Algorithm
egg-herbie
Rules
1774×fma-def_binary64
816×unswap-sqr_binary64
461×sqr-pow_binary64
365×*-commutative_binary64
356×pow-sqr_binary64
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
032586
188572
2277556
31101552
42593552
53085552
63206552
73332552
83466552
93641550
104700550
116389550
126951550
137610550
Stop Event
node limit
Counts
68 → 41
Calls
Call 1
Inputs
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 -1/23040 (*.f64 (pow.f64 K 6) (*.f64 l J))))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
Outputs
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 l J))
(*.f64 (*.f64 2 l) J)
(*.f64 l (*.f64 2 J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))))
(fma.f64 2 (*.f64 l J) (*.f64 (*.f64 -1/4 (*.f64 K K)) (*.f64 l J)))
(*.f64 (*.f64 l J) (+.f64 2 (*.f64 -1/4 (*.f64 K K))))
(*.f64 (*.f64 l J) (fma.f64 -1/4 (*.f64 K K) 2))
(*.f64 J (*.f64 l (fma.f64 -1/4 (*.f64 K K) 2)))
(*.f64 l (*.f64 J (fma.f64 -1/4 (*.f64 K K) 2)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/192 (*.f64 (*.f64 l J) (pow.f64 K 4)) (*.f64 (*.f64 -1/4 (*.f64 K K)) (*.f64 l J))))
(fma.f64 2 (*.f64 l J) (*.f64 (*.f64 l J) (+.f64 (*.f64 -1/4 (*.f64 K K)) (*.f64 1/192 (pow.f64 K 4)))))
(*.f64 (*.f64 l J) (+.f64 2 (fma.f64 1/192 (pow.f64 K 4) (*.f64 K (*.f64 K -1/4)))))
(*.f64 (*.f64 l J) (fma.f64 1/192 (pow.f64 K 4) (fma.f64 -1/4 (*.f64 K K) 2)))
(*.f64 l (*.f64 J (fma.f64 1/192 (pow.f64 K 4) (fma.f64 -1/4 (*.f64 K K) 2))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 -1/23040 (*.f64 (pow.f64 K 6) (*.f64 l J))))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/192 (*.f64 (*.f64 l J) (pow.f64 K 4)) (fma.f64 -1/4 (*.f64 (*.f64 l J) (*.f64 K K)) (*.f64 -1/23040 (*.f64 (*.f64 l J) (pow.f64 K 6))))))
(+.f64 (*.f64 (*.f64 l J) (+.f64 (*.f64 -1/4 (*.f64 K K)) (*.f64 -1/23040 (pow.f64 K 6)))) (*.f64 (*.f64 l J) (+.f64 2 (*.f64 1/192 (pow.f64 K 4)))))
(*.f64 (*.f64 l J) (+.f64 (+.f64 2 (*.f64 1/192 (pow.f64 K 4))) (fma.f64 -1/4 (*.f64 K K) (*.f64 -1/23040 (pow.f64 K 6)))))
(*.f64 (*.f64 l J) (+.f64 2 (fma.f64 (*.f64 K K) (fma.f64 (*.f64 K K) 1/192 -1/4) (*.f64 -1/23040 (pow.f64 K 6)))))
(*.f64 (*.f64 l J) (fma.f64 K (*.f64 K -1/4) (fma.f64 -1/23040 (pow.f64 K 6) (fma.f64 1/192 (pow.f64 K 4) 2))))
(*.f64 (*.f64 l J) (fma.f64 (*.f64 K K) (fma.f64 (*.f64 K K) 1/192 -1/4) (fma.f64 -1/23040 (pow.f64 K 6) 2)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
6.6b
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
Compiler

Compiled 38 to 10 computations (73.7% saved)

series2.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
0.0ms
l
@0
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
0.0ms
J
@-inf
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
0.0ms
J
@0
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
0.0ms
J
@inf
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
0.0ms
l
@inf
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)

rewrite32.0ms (0.3%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
90×add-sqr-sqrt_binary64
86×*-un-lft-identity_binary64
86×pow1_binary64
85×add-log-exp_binary64
83×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089
11699
227689
089
Stop Event
iter limit
unsound
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) (*.f64 (*.f64 2 (sinh.f64 l)) J)) (*.f64 (*.f64 2 (sinh.f64 l)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J)))))))

simplify72.0ms (0.7%)

Algorithm
egg-herbie
Rules
728×unswap-sqr_binary64
622×fma-def_binary64
345×associate-/l*_binary64
323×associate-/r*_binary64
316×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032140
185137
2232126
3702124
41837124
52180124
62613124
73890124
87649124
Stop Event
node limit
Counts
14 → 16
Calls
Call 1
Inputs
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
Outputs
(*.f64 2 (*.f64 l J))
(*.f64 J (*.f64 2 l))
(*.f64 l (*.f64 2 J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(fma.f64 2 (*.f64 l J) (*.f64 1/3 (*.f64 J (pow.f64 l 3))))
(*.f64 J (+.f64 (*.f64 2 l) (*.f64 1/3 (pow.f64 l 3))))
(*.f64 J (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))))
(*.f64 l (*.f64 (fma.f64 1/3 (*.f64 l l) 2) J))
(*.f64 l (*.f64 J (fma.f64 1/3 (*.f64 l l) 2)))
(*.f64 J (*.f64 l (fma.f64 1/3 (*.f64 l l) 2)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5)))))
(fma.f64 2 (*.f64 l J) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (+.f64 (*.f64 2 l) (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (fma.f64 l (fma.f64 1/3 (*.f64 l l) 2) (*.f64 1/60 (pow.f64 l 5))))
(*.f64 J (fma.f64 1/60 (pow.f64 l 5) (*.f64 l (fma.f64 1/3 (*.f64 l l) 2))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5))))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (+.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 2 l (*.f64 1/2520 (pow.f64 l 7)))))
(*.f64 J (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (fma.f64 l (fma.f64 1/3 (*.f64 l l) 2) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (fma.f64 1/60 (pow.f64 l 5) (*.f64 l (fma.f64 1/3 (*.f64 l l) 2)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (*.f64 -1 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))

localize22.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 J (*.f64 2 (sinh.f64 l)))
0.0b
(sinh.f64 l)
0.1b
(*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2)))
Compiler

Compiled 52 to 31 computations (40.4% saved)

series7.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
l
@inf
(*.f64 J (*.f64 2 (sinh.f64 l)))
1.0ms
l
@-inf
(*.f64 J (*.f64 2 (sinh.f64 l)))
1.0ms
J
@inf
(*.f64 J (*.f64 2 (sinh.f64 l)))
0.0ms
J
@0
(*.f64 J (*.f64 2 (sinh.f64 l)))
0.0ms
J
@-inf
(*.f64 J (*.f64 2 (sinh.f64 l)))

rewrite64.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
600×log-prod_binary64
445×exp-prod_binary64
379×pow-prod-down_binary64
298×pow2_binary64
241×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
123226
2286326
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2)))
(*.f64 J (*.f64 2 (sinh.f64 l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))) 2)) (cbrt.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))))) (sqrt.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 J) (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2))))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 J (*.f64 2 (*.f64 (sinh.f64 l) (cos.f64 (/.f64 K -2)))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sinh.f64 l) (*.f64 J 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2) J) (sinh.f64 l))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 2) J) (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 2) J) (sinh.f64 l)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 2) J) (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 J 2) (*.f64 2 (sinh.f64 l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))))) (sqrt.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 2) J) (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 1) 1))))))

simplify72.0ms (0.7%)

Algorithm
egg-herbie
Rules
604×unsub-neg_binary64
560×fma-def_binary64
403×associate-+l+_binary64
341×associate-*l*_binary64
326×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0711288
12111243
26661170
328911135
461441135
Stop Event
node limit
Counts
109 → 76
Calls
Call 1
Inputs
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (+.f64 (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
Outputs
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (*.f64 l 2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 J 2)))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (*.f64 (*.f64 1/3 (cos.f64 (*.f64 1/2 K))) (*.f64 J (pow.f64 l 3))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (*.f64 1/3 (pow.f64 l 3)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 l 2))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 5))) (*.f64 (*.f64 1/3 (cos.f64 (*.f64 1/2 K))) (*.f64 J (pow.f64 l 3)))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (fma.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 3))) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 1/60 (*.f64 J (pow.f64 l 5))))))
(fma.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) (*.f64 J 1/60)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 l 2)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (+.f64 (*.f64 1/60 (pow.f64 l 5)) (fma.f64 1/3 (pow.f64 l 3) (*.f64 l 2)))))
(+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))) (+.f64 (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J))) (*.f64 1/3 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J))))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 5))) (fma.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 7))) (*.f64 (*.f64 1/3 (cos.f64 (*.f64 1/2 K))) (*.f64 J (pow.f64 l 3))))))
(fma.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (fma.f64 1/60 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 5))) (fma.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) 1/3) (*.f64 J (pow.f64 l 3)) (*.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 7)))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (fma.f64 1/2520 (pow.f64 l 7) (*.f64 1/3 (pow.f64 l 3))))) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 l 2)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (+.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 l 2 (*.f64 1/2520 (pow.f64 l 7))))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(fma.f64 -1/8 (*.f64 (*.f64 (*.f64 K K) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (+.f64 (*.f64 -1/8 (*.f64 K K)) 1) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (*.f64 (fma.f64 -1/8 (*.f64 K K) 1) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (fma.f64 -1/8 (*.f64 K K) 1) J))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(fma.f64 -1/8 (*.f64 (*.f64 (*.f64 K K) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (fma.f64 1/384 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 K 4)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 -1/8 (*.f64 K K)) (*.f64 1/384 (pow.f64 K 4)))))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 K (*.f64 K -1/8)) (fma.f64 1/384 (pow.f64 K 4) 1)))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (+.f64 J (*.f64 J (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4))))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))) (+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))))
(fma.f64 -1/8 (*.f64 (*.f64 (*.f64 K K) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (fma.f64 1/384 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 K 4)) (fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 -1/46080 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 K 6))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/46080 (pow.f64 K 6)) 1) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 -1/8 (*.f64 K K)) (*.f64 1/384 (pow.f64 K 4)))))
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (fma.f64 -1/46080 (pow.f64 K 6) 1)))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (fma.f64 -1/46080 (pow.f64 K 6) 1) (fma.f64 -1/8 (*.f64 K K) (*.f64 1/384 (pow.f64 K 4)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 2 (*.f64 l J))
(*.f64 (*.f64 2 l) J)
(*.f64 J (*.f64 l 2))
(*.f64 l (*.f64 J 2))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(fma.f64 2 (*.f64 J l) (*.f64 1/3 (*.f64 J (pow.f64 l 3))))
(*.f64 J (+.f64 (*.f64 l 2) (*.f64 1/3 (pow.f64 l 3))))
(*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 l 2)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5)))))
(fma.f64 2 (*.f64 J l) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (+.f64 (*.f64 l 2) (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3)))))
(*.f64 J (+.f64 (*.f64 1/60 (pow.f64 l 5)) (fma.f64 1/3 (pow.f64 l 3) (*.f64 l 2))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5))))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (+.f64 (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3))) (fma.f64 l 2 (*.f64 1/2520 (pow.f64 l 7)))))
(*.f64 J (+.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 l 2 (*.f64 1/2520 (pow.f64 l 7)))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))

eval163.0ms (1.6%)

Compiler

Compiled 8289 to 5579 computations (32.7% saved)

prune71.0ms (0.7%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New4274431
Fresh101
Picked101
Done224
Total4316437
Error
0b
Counts
437 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
14.5b
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
0.7b
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
0.7b
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
22.3b
(+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2))) U)
5.9b
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
6.5b
(+.f64 (*.f64 (*.f64 2 l) J) U)
Compiler

Compiled 89 to 67 computations (24.7% saved)

localize24.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l)))
0.1b
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
0.1b
(*.f64 (cos.f64 (*.f64 K 1/2)) l)
Compiler

Compiled 53 to 35 computations (34% saved)

series9.0ms (0.1%)

Counts
3 → 96
Calls

24 calls:

TimeVariablePointExpression
1.0ms
J
@0
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
1.0ms
K
@0
(*.f64 (cos.f64 (*.f64 K 1/2)) l)
0.0ms
K
@-inf
(*.f64 (cos.f64 (*.f64 K 1/2)) l)
0.0ms
K
@inf
(*.f64 (cos.f64 (*.f64 K 1/2)) l)
0.0ms
l
@inf
(*.f64 (cos.f64 (*.f64 K 1/2)) l)

rewrite66.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
428×exp-prod_binary64
378×prod-exp_binary64
340×pow-prod-down_binary64
280×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
122236
2257936
Stop Event
node limit
Counts
3 → 89
Calls
Call 1
Inputs
(*.f64 (cos.f64 (*.f64 K 1/2)) l)
(*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))
(*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 (*.f64 K 1/2)) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (cos.f64 (*.f64 K 1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (cos.f64 (*.f64 K 1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (cos.f64 (*.f64 K 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1) (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (log.f64 l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1) (*.f64 (log.f64 l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 l) 1) (log.f64 (cos.f64 (*.f64 K 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 l) (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 l) 1) (*.f64 (log.f64 (cos.f64 (*.f64 K 1/2))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (*.f64 (cos.f64 (*.f64 K 1/2)) J))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (*.f64 (cos.f64 (*.f64 K 1/2)) J)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 l) 1) (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1) (log.f64 J)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) (*.f64 (log.f64 J) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1) (*.f64 (log.f64 J) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 J) (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) J)) (*.f64 (log.f64 l) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 J) (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 J) (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 2) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 J) (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l) (*.f64 J 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1) (log.f64 (*.f64 J 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 J 2)) (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) l)) 1)))))))

simplify166.0ms (1.7%)

Algorithm
egg-herbie
Rules
796×unswap-sqr_binary64
667×*-commutative_binary64
580×distribute-lft-out_binary64
469×fma-def_binary64
433×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0531312
11481288
24891255
319981250
432341250
538341250
640901250
746941250
853681250
956761250
1060591250
1177091250
Stop Event
node limit
Counts
185 → 117
Calls
Call 1
Inputs
l
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) l)) l)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) l)) (+.f64 l (*.f64 1/384 (*.f64 (pow.f64 K 4) l))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) l)) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) l)) (+.f64 l (*.f64 1/384 (*.f64 (pow.f64 K 4) l)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 l J)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J)))
(+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 l J))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 -1/23040 (*.f64 (pow.f64 K 6) (*.f64 l J))))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
Outputs
l
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) l)) l)
(fma.f64 -1/8 (*.f64 l (*.f64 K K)) l)
(*.f64 l (fma.f64 -1/8 (*.f64 K K) 1))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) l)) (+.f64 l (*.f64 1/384 (*.f64 (pow.f64 K 4) l))))
(+.f64 (fma.f64 -1/8 (*.f64 l (*.f64 K K)) l) (*.f64 1/384 (*.f64 l (pow.f64 K 4))))
(fma.f64 -1/8 (*.f64 l (*.f64 K K)) (fma.f64 1/384 (*.f64 l (pow.f64 K 4)) l))
(+.f64 l (*.f64 l (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/8 (*.f64 K K)))))
(*.f64 l (+.f64 (*.f64 1/384 (pow.f64 K 4)) (fma.f64 -1/8 (*.f64 K K) 1)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) l)) (+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) l)) (+.f64 l (*.f64 1/384 (*.f64 (pow.f64 K 4) l)))))
(fma.f64 -1/8 (*.f64 l (*.f64 K K)) (fma.f64 -1/46080 (*.f64 l (pow.f64 K 6)) (+.f64 l (*.f64 1/384 (*.f64 l (pow.f64 K 4))))))
(fma.f64 -1/8 (*.f64 l (*.f64 K K)) (fma.f64 -1/46080 (*.f64 l (pow.f64 K 6)) (fma.f64 1/384 (*.f64 l (pow.f64 K 4)) l)))
(fma.f64 l (fma.f64 -1/8 (*.f64 K K) (*.f64 -1/46080 (pow.f64 K 6))) (*.f64 l (fma.f64 1/384 (pow.f64 K 4) 1)))
(*.f64 l (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 -1/46080 (pow.f64 K 6) (*.f64 1/384 (pow.f64 K 4)))))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) l)
(*.f64 l (cos.f64 (*.f64 K 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 l J)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))
(fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 l J)) (*.f64 l J))
(*.f64 (+.f64 (*.f64 -1/8 (*.f64 K K)) 1) (*.f64 l J))
(*.f64 (*.f64 l J) (fma.f64 -1/8 (*.f64 K K) 1))
(+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J)))
(fma.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J)) (fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 l J)) (*.f64 l J)))
(+.f64 (*.f64 l J) (*.f64 (*.f64 l J) (+.f64 (*.f64 1/384 (pow.f64 K 4)) (*.f64 -1/8 (*.f64 K K)))))
(*.f64 (*.f64 l J) (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (*.f64 1/384 (pow.f64 K 4))))
(*.f64 (*.f64 l J) (+.f64 (*.f64 1/384 (pow.f64 K 4)) (fma.f64 -1/8 (*.f64 K K) 1)))
(+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 l J))) (+.f64 (*.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 l J))))
(fma.f64 -1/46080 (*.f64 (pow.f64 K 6) (*.f64 l J)) (fma.f64 1/384 (*.f64 (pow.f64 K 4) (*.f64 l J)) (fma.f64 -1/8 (*.f64 (*.f64 K K) (*.f64 l J)) (*.f64 l J))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (*.f64 K K)) 1) (*.f64 l J)) (*.f64 (*.f64 l J) (+.f64 (*.f64 -1/46080 (pow.f64 K 6)) (*.f64 1/384 (pow.f64 K 4)))))
(fma.f64 (*.f64 l J) (fma.f64 1/384 (pow.f64 K 4) (*.f64 -1/8 (*.f64 K K))) (*.f64 J (*.f64 l (fma.f64 -1/46080 (pow.f64 K 6) 1))))
(*.f64 J (*.f64 l (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 -1/46080 (pow.f64 K 6) (*.f64 1/384 (pow.f64 K 4))))))
(*.f64 l (*.f64 J (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 -1/46080 (pow.f64 K 6) (*.f64 1/384 (pow.f64 K 4))))))
(*.f64 (*.f64 l (+.f64 (fma.f64 -1/8 (*.f64 K K) 1) (fma.f64 -1/46080 (pow.f64 K 6) (*.f64 1/384 (pow.f64 K 4))))) J)
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) J))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 l J))
(*.f64 l (*.f64 J 2))
(*.f64 l (*.f64 2 J))
(*.f64 J (*.f64 l 2))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))))
(fma.f64 2 (*.f64 l J) (*.f64 (*.f64 (*.f64 K K) (*.f64 l J)) -1/4))
(*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4)))
(*.f64 l (*.f64 J (fma.f64 (*.f64 K K) -1/4 2)))
(*.f64 l (*.f64 J (fma.f64 (*.f64 K -1/4) K 2)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J)) (*.f64 (*.f64 (*.f64 K K) (*.f64 l J)) -1/4)))
(fma.f64 2 (*.f64 l J) (*.f64 (*.f64 l J) (+.f64 (*.f64 (pow.f64 K 4) 1/192) (*.f64 (*.f64 K K) -1/4))))
(*.f64 (*.f64 l J) (+.f64 2 (fma.f64 (*.f64 K K) -1/4 (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 l J) (+.f64 2 (fma.f64 (pow.f64 K 4) 1/192 (*.f64 K (*.f64 K -1/4)))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 K 2) (*.f64 l J))) (*.f64 -1/23040 (*.f64 (pow.f64 K 6) (*.f64 l J))))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/192 (*.f64 (pow.f64 K 4) (*.f64 l J)) (fma.f64 -1/4 (*.f64 (*.f64 K K) (*.f64 l J)) (*.f64 (*.f64 (pow.f64 K 6) (*.f64 l J)) -1/23040))))
(+.f64 (*.f64 (*.f64 l J) (+.f64 (*.f64 (*.f64 K K) -1/4) (*.f64 (pow.f64 K 6) -1/23040))) (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 l J) (+.f64 (fma.f64 (pow.f64 K 6) -1/23040 (*.f64 K (*.f64 K -1/4))) (+.f64 2 (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 l J) (+.f64 (+.f64 2 (*.f64 (pow.f64 K 4) 1/192)) (fma.f64 (pow.f64 K 6) -1/23040 (*.f64 K (*.f64 K -1/4)))))
(*.f64 (*.f64 l J) (+.f64 2 (+.f64 (*.f64 (pow.f64 K 6) -1/23040) (fma.f64 (pow.f64 K 4) 1/192 (*.f64 K (*.f64 K -1/4))))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 J 2)))
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 l (*.f64 2 J)))
(*.f64 l (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (*.f64 2 l) J) U)
Compiler

Compiled 23 to 14 computations (39.1% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
l
@inf
(+.f64 (*.f64 (*.f64 2 l) J) U)
0.0ms
l
@0
(+.f64 (*.f64 (*.f64 2 l) J) U)
0.0ms
J
@inf
(+.f64 (*.f64 (*.f64 2 l) J) U)
0.0ms
U
@0
(+.f64 (*.f64 (*.f64 2 l) J) U)
0.0ms
U
@inf
(+.f64 (*.f64 (*.f64 2 l) J) U)

rewrite56.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
896×pow1_binary64
831×add-log-exp_binary64
830×log1p-expm1-u_binary64
830×expm1-log1p-u_binary64
813×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11728
222608
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 (*.f64 2 l) J) U)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (-.f64 (*.f64 2 (*.f64 l J)) U)) (/.f64 (*.f64 U U) (-.f64 (*.f64 2 (*.f64 l J)) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 2 l) J U) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 2 l) J U))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 2 l) J U)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 2 l) J U)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 2 l) J U)) 2) (cbrt.f64 (fma.f64 (*.f64 2 l) J U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 2 l) J U)) (sqrt.f64 (fma.f64 (*.f64 2 l) J U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 8 (pow.f64 (*.f64 l J) 3)) (pow.f64 U 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U (-.f64 U (*.f64 2 (*.f64 l J)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U U)) (/.f64 1 (-.f64 (*.f64 2 (*.f64 l J)) U)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U (-.f64 U (*.f64 2 (*.f64 l J))))) (+.f64 (*.f64 8 (pow.f64 (*.f64 l J) 3)) (pow.f64 U 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 2 (*.f64 l J)) U) (-.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U U))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 8 (pow.f64 (*.f64 l J) 3)) (pow.f64 U 3)) (+.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U (-.f64 U (*.f64 2 (*.f64 l J))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 8 (pow.f64 (*.f64 l J) 3)) (pow.f64 U 3)) (+.f64 (*.f64 U U) (-.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 (*.f64 2 l) (*.f64 J U)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U U)) (-.f64 (*.f64 2 (*.f64 l J)) U))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 8 (pow.f64 (*.f64 l J) 3)) (pow.f64 U 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U (-.f64 U (*.f64 2 (*.f64 l J)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 2) (*.f64 U U))) (neg.f64 (-.f64 (*.f64 2 (*.f64 l J)) U)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 U U) (pow.f64 (*.f64 2 (*.f64 l J)) 2)) (-.f64 U (*.f64 2 (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 2 l) J U) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 2 l) J U) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 2 l) J U)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 2 l) J U)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 2 l) J U) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 2 l) J U)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 2 l) J U) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 2 l) J U)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 2 l) J U)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 2 l) J U)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 l J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 l) J U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 J (*.f64 2 l) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 l J)) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 U (*.f64 2 (*.f64 l J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 l J))) 2) (cbrt.f64 (*.f64 2 (*.f64 l J))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 U) 2) (cbrt.f64 U) (*.f64 2 (*.f64 l J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 l J))) (sqrt.f64 (*.f64 2 (*.f64 l J))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 U) (sqrt.f64 U) (*.f64 2 (*.f64 l J)))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08255
114255
223255
329255
Stop Event
saturated
Counts
72 → 39
Calls
Call 1
Inputs
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
Outputs
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
0.0b
(*.f64 (*.f64 2 (sinh.f64 l)) J)
0.0b
(sinh.f64 l)
Compiler

Compiled 28 to 15 computations (46.4% saved)

series5.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
U
@0
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
0.0ms
l
@0
(*.f64 (*.f64 2 (sinh.f64 l)) J)
0.0ms
l
@inf
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
0.0ms
l
@0
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
0.0ms
U
@inf
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)

rewrite64.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
484×log-prod_binary64
359×exp-prod_binary64
351×prod-exp_binary64
309×pow-prod-down_binary64
289×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
119519
2257619
Stop Event
node limit
Counts
2 → 100
Calls
Call 1
Inputs
(*.f64 (*.f64 2 (sinh.f64 l)) J)
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sinh.f64 l) J) (*.f64 (sinh.f64 l) J))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))) (sqrt.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 2 (sinh.f64 l))) 1) (log.f64 J)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 2 (sinh.f64 l))) (*.f64 (log.f64 J) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 2 (sinh.f64 l))) 1) (*.f64 (log.f64 J) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (log.f64 (*.f64 2 (sinh.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 J) (*.f64 (log.f64 (*.f64 2 (sinh.f64 l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 J) 1) (*.f64 (log.f64 (*.f64 2 (sinh.f64 l))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U)) (/.f64 (*.f64 U U) (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) (pow.f64 (cbrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) 2) (cbrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) (sqrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3) (pow.f64 U 3)) (/.f64 1 (fma.f64 U (-.f64 U (*.f64 2 (*.f64 (sinh.f64 l) J))) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (*.f64 U U)) (/.f64 1 (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 U (-.f64 U (*.f64 2 (*.f64 (sinh.f64 l) J))) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) (fma.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3) (pow.f64 U 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U) (-.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (*.f64 U U))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3) (pow.f64 U 3)) (fma.f64 U (-.f64 U (*.f64 2 (*.f64 (sinh.f64 l) J))) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3) (pow.f64 U 3)) (fma.f64 U U (-.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (*.f64 (*.f64 2 (sinh.f64 l)) (*.f64 J U)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (*.f64 U U)) (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3) (pow.f64 U 3))) (neg.f64 (fma.f64 U (-.f64 U (*.f64 2 (*.f64 (sinh.f64 l) J))) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (*.f64 U U))) (neg.f64 (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 U U) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) (-.f64 U (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 U (-.f64 U (*.f64 2 (*.f64 (sinh.f64 l) J))) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) (fma.f64 8 (pow.f64 (*.f64 (sinh.f64 l) J) 3) (pow.f64 U 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) U) (-.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) (*.f64 U U))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))) 2)) (cbrt.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))) (sqrt.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) (exp.f64 U)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)) (+.f64 1 (expm1.f64 U))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) (+.f64 1 (expm1.f64 U))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 U)) (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 U) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 U)) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sinh.f64 l) (*.f64 2 J) U)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sinh.f64 l) J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sinh.f64 l) (*.f64 2 J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sinh.f64 l)) J U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 J (*.f64 2 (sinh.f64 l)) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1 U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 U 1 (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 (sinh.f64 l) J)) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 U (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 U) (pow.f64 (cbrt.f64 U) 2) (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 U) 2) (cbrt.f64 U) (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (pow.f64 (sinh.f64 l) 2))) (*.f64 (cbrt.f64 (*.f64 2 (sinh.f64 l))) J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 J) 2) (*.f64 (cbrt.f64 J) (*.f64 2 (sinh.f64 l))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 U) (sqrt.f64 U) (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (sinh.f64 l))) (*.f64 (sqrt.f64 (*.f64 2 (sinh.f64 l))) J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 J) (*.f64 (sqrt.f64 J) (*.f64 2 (sinh.f64 l))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sinh.f64 l) J) 2 U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (pow.f64 (cbrt.f64 J) 2)) (cbrt.f64 J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (sqrt.f64 J)) (sqrt.f64 J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 J 2) (sinh.f64 l) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 J (cbrt.f64 (*.f64 4 (pow.f64 (sinh.f64 l) 2)))) (cbrt.f64 (*.f64 2 (sinh.f64 l))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 J (sqrt.f64 (*.f64 2 (sinh.f64 l)))) (sqrt.f64 (*.f64 2 (sinh.f64 l))) U)))))

simplify119.0ms (1.2%)

Algorithm
egg-herbie
Rules
837×fma-def_binary64
754×fma-neg_binary64
692×unswap-sqr_binary64
345×associate-*l/_binary64
280×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041809
1111806
2282789
3828784
42080784
52348784
62702784
73524784
85082784
97418784
Stop Event
node limit
Counts
160 → 120
Calls
Call 1
Inputs
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) U))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 l 5) J)) U)))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
U
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
U
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
U
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
Outputs
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(fma.f64 2 (*.f64 l J) (*.f64 1/3 (*.f64 J (pow.f64 l 3))))
(*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 2 l)))
(*.f64 J (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))))
(*.f64 (*.f64 l J) (fma.f64 1/3 (*.f64 l l) 2))
(*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5)))))
(fma.f64 2 (*.f64 l J) (*.f64 J (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3)))))
(*.f64 J (+.f64 (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) (*.f64 1/60 (pow.f64 l 5))))
(*.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (fma.f64 1/60 (pow.f64 l 5) (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5))))))
(fma.f64 2 (*.f64 l J) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (*.f64 J (+.f64 (*.f64 1/60 (pow.f64 l 5)) (*.f64 1/3 (pow.f64 l 3))))))
(*.f64 J (+.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 2 l (*.f64 1/2520 (pow.f64 l 7)))))
(*.f64 J (+.f64 (*.f64 1/2520 (pow.f64 l 7)) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (+.f64 (fma.f64 1/2520 (pow.f64 l 7) (*.f64 2 l)) (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (+.f64 (*.f64 1/60 (pow.f64 l 5)) (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/2520 (pow.f64 l 7))))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(fma.f64 (*.f64 2 l) J U)
(fma.f64 J (*.f64 2 l) U)
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) U))
(fma.f64 2 (*.f64 l J) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) U))
(fma.f64 J (fma.f64 2 l (*.f64 1/3 (pow.f64 l 3))) U)
(fma.f64 J (*.f64 l (fma.f64 1/3 (*.f64 l l) 2)) U)
(fma.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l)) U)
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 l 5) J)) U)))
(fma.f64 2 (*.f64 l J) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (fma.f64 1/60 (*.f64 J (pow.f64 l 5)) U)))
(fma.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 J (*.f64 2 l) U))
(fma.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))) U)
(fma.f64 J (fma.f64 1/60 (pow.f64 l 5) (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
U
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
U
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
U
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)
(+.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))) U)
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U)

localize62.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sinh.f64 l)
0.1b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2)
16.7b
(sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))
Compiler

Compiled 73 to 47 computations (35.6% saved)

series53.0ms (0.5%)

Counts
3 → 52
Calls

21 calls:

TimeVariablePointExpression
12.0ms
l
@inf
(sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))
4.0ms
l
@0
(pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2)
3.0ms
J
@0
(sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))
3.0ms
l
@0
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))
3.0ms
J
@-inf
(pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2)

rewrite97.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
634×log-prod_binary64
414×pow-prod-down_binary64
316×pow2_binary64
256×pow-unpow_binary64
225×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01337
127537
2307337
Stop Event
node limit
Counts
3 → 94
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2)))
(pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/6) (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/4) (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 J J)) (sqrt.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sinh.f64 l)) (sqrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sinh.f64 l) J)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (sinh.f64 l) J) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sinh.f64 l) J) (*.f64 (sinh.f64 l) J))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sinh.f64 l) (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sinh.f64 l) (+.f64 J J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 J (*.f64 2 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sinh.f64 l) J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 J J) (sinh.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) (sqrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sinh.f64 l) (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 J J)) 2) (*.f64 (cbrt.f64 (+.f64 J J)) (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sinh.f64 l) 2)) (*.f64 (cbrt.f64 (sinh.f64 l)) (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) (pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 2) (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/4) (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 J J)) (*.f64 (sqrt.f64 (+.f64 J J)) (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sinh.f64 l)) (*.f64 (sqrt.f64 (sinh.f64 l)) (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sinh.f64 l)) (pow.f64 (*.f64 (+.f64 J J) (*.f64 (sinh.f64 l) (+.f64 J J))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sinh.f64 l) J) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 3/4) (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sinh.f64 l) 2) J)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sinh.f64 l) (pow.f64 (cbrt.f64 (+.f64 J J)) 2)) (cbrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sinh.f64 l) (sqrt.f64 (+.f64 J J))) (sqrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 J J) (cbrt.f64 (pow.f64 (sinh.f64 l) 2))) (cbrt.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 J J) (sqrt.f64 (sinh.f64 l))) (sqrt.f64 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 5/6) (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) (sinh.f64 l)) 1/2) (sqrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (+.f64 J J)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 J J) (*.f64 2 (sinh.f64 l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 (sinh.f64 l) J) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (+.f64 J J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (+.f64 J J)))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 K -2))) (*.f64 (sinh.f64 l) (+.f64 J J)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 K -2))) (*.f64 (sinh.f64 l) (+.f64 J J))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 K -2))) (*.f64 (sinh.f64 l) (+.f64 J J))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 K -2))) (*.f64 (sinh.f64 l) (+.f64 J J))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 K -2))) (*.f64 (sinh.f64 l) (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 (+.f64 J J) (cos.f64 (/.f64 K -2)))))) 2))))))

simplify135.0ms (1.4%)

Algorithm
egg-herbie
Rules
782×distribute-lft-out_binary64
526×times-frac_binary64
463×fma-def_binary64
392×*-commutative_binary64
303×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0871845
12601376
29761202
332681163
473171163
Stop Event
node limit
Counts
146 → 118
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))) (*.f64 1/120 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))) (*.f64 1/120 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (+.f64 (*.f64 1/768 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))))
(+.f64 (*.f64 -1/92160 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 6) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (+.f64 (*.f64 1/768 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)))
(*.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 1/2 K)))))
(*.f64 J (*.f64 2 (*.f64 l (cos.f64 (*.f64 1/2 K)))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (*.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))))
(fma.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (*.f64 (*.f64 1/6 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 3)))))
(fma.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 1/2 K)))) (*.f64 (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) 1/3))
(*.f64 (*.f64 2 (cos.f64 (*.f64 1/2 K))) (+.f64 (*.f64 1/6 (*.f64 J (pow.f64 l 3))) (*.f64 J l)))
(*.f64 (*.f64 2 (cos.f64 (*.f64 1/2 K))) (+.f64 (*.f64 J l) (*.f64 1/6 (*.f64 J (pow.f64 l 3)))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))) (*.f64 1/120 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J))))))
(fma.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (fma.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 3)))) (*.f64 1/120 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 5)))))))
(fma.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 1/2 K)))) (fma.f64 1/3 (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (*.f64 (*.f64 1/60 (cos.f64 (*.f64 1/2 K))) (*.f64 J (pow.f64 l 5)))))
(fma.f64 2 (*.f64 J (*.f64 l (cos.f64 (*.f64 1/2 K)))) (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 (*.f64 J (pow.f64 l 3)) 1/3) (*.f64 (*.f64 J (pow.f64 l 5)) 1/60))))
(*.f64 (*.f64 2 (cos.f64 (*.f64 1/2 K))) (+.f64 (*.f64 1/6 (*.f64 J (pow.f64 l 3))) (+.f64 (*.f64 J l) (*.f64 1/120 (*.f64 J (pow.f64 l 5))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 7) J)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 3) J)))) (*.f64 1/120 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 l 5) J)))))))
(fma.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J l)) (fma.f64 1/5040 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 7)))) (fma.f64 1/6 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 3)))) (*.f64 1/120 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 5))))))))
(fma.f64 2 (*.f64 l (*.f64 J (cos.f64 (*.f64 1/2 K)))) (fma.f64 1/2520 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (pow.f64 l 7))) (fma.f64 1/3 (*.f64 J (*.f64 (cos.f64 (*.f64 1/2 K)) (pow.f64 l 3))) (*.f64 (*.f64 1/60 (cos.f64 (*.f64 1/2 K))) (*.f64 J (pow.f64 l 5))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 (*.f64 J (pow.f64 l 3)) 1/3) (*.f64 (*.f64 J (pow.f64 l 5)) 1/60))) (*.f64 (cos.f64 (*.f64 1/2 K)) (+.f64 (*.f64 2 (*.f64 J l)) (*.f64 (*.f64 J (pow.f64 l 7)) 1/2520))))
(*.f64 (*.f64 2 (cos.f64 (*.f64 1/2 K))) (+.f64 (+.f64 (*.f64 J l) (*.f64 1/6 (*.f64 J (pow.f64 l 3)))) (+.f64 (*.f64 1/5040 (*.f64 J (pow.f64 l 7))) (*.f64 1/120 (*.f64 J (pow.f64 l 5))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 -1/2 (cos.f64 (*.f64 1/2 K))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 -2) 2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2)) -1/2))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 -1/2 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 -1/2 (cos.f64 (*.f64 1/2 K))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 -2) 2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2)) -1/2))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 -1/2 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 -1/2 (cos.f64 (*.f64 1/2 K))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 -2) 2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2)) -1/2))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 -1/2 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2))))
(*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 -1/2 (cos.f64 (*.f64 1/2 K))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 -2) 2)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2)) -1/2))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 -1/2 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J -2))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(fma.f64 -1/16 (*.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 K K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (*.f64 1/2 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 2) 2))))
(fma.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (*.f64 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K))) -1/8))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 (*.f64 K K) -1/8) 1))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 1 (*.f64 (*.f64 K K) -1/8)))
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (+.f64 (*.f64 1/768 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))))
(fma.f64 -1/16 (*.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 K K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (fma.f64 1/768 (*.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 K 4)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (*.f64 1/2 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 2) 2)))))
(fma.f64 -1/8 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K))) (fma.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (*.f64 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (pow.f64 K 4))) 1/384)))
(fma.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 (*.f64 K K) -1/8) (*.f64 (pow.f64 K 4) 1/384))))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 1 (+.f64 (*.f64 (*.f64 K K) -1/8) (*.f64 (pow.f64 K 4) 1/384))))
(+.f64 (*.f64 -1/92160 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 6) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (+.f64 (*.f64 1/768 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))))
(fma.f64 -1/92160 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 K 6))) (fma.f64 -1/16 (*.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 K K)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (fma.f64 1/768 (*.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 K 4)) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (*.f64 1/2 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 2) 2))))))
(fma.f64 -1/46080 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (pow.f64 K 6))) (fma.f64 -1/8 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K K))) (fma.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (*.f64 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (pow.f64 K 4))) 1/384))))
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 (pow.f64 K 4) 1/384) 1)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (*.f64 (*.f64 K K) -1/8) (*.f64 (pow.f64 K 6) -1/46080))))
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (+.f64 (+.f64 1 (*.f64 (pow.f64 K 4) 1/384)) (+.f64 (*.f64 (*.f64 K K) -1/8) (*.f64 (pow.f64 K 6) -1/46080))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l)))))))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (*.f64 1/2 K))))
(*.f64 (*.f64 1 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) (cos.f64 (*.f64 1/2 K)))
(*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (*.f64 1/2 K))))

eval233.0ms (2.3%)

Compiler

Compiled 8266 to 5021 computations (39.3% saved)

prune86.0ms (0.9%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New4735478
Fresh000
Picked101
Done055
Total47410484
Error
0b
Counts
484 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
14.5b
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
0.7b
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
6.5b
(+.f64 (*.f64 (*.f64 2 l) J) U)
22.8b
(+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2))) U)
0.7b
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
24.9b
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
52.9b
(*.f64 2 (*.f64 l J))
25.4b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2) U)
15.5b
U
5.9b
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
Compiler

Compiled 131 to 100 computations (23.7% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 l J))
Compiler

Compiled 15 to 8 computations (46.7% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
l
@0
(*.f64 2 (*.f64 l J))
0.0ms
l
@inf
(*.f64 2 (*.f64 l J))
0.0ms
J
@inf
(*.f64 2 (*.f64 l J))
0.0ms
J
@0
(*.f64 2 (*.f64 l J))
0.0ms
J
@-inf
(*.f64 2 (*.f64 l J))

rewrite49.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
554×pow1_binary64
509×add-log-exp_binary64
509×log1p-expm1-u_binary64
509×expm1-log1p-u_binary64
499×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213927
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 2 (*.f64 l J))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 l J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (*.f64 l J))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 l J))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 l J) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 l J)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (*.f64 l J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 l J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 l J))))))))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
11 → 11
Calls
Call 1
Inputs
Outputs

localize30.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))
0.2b
(pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2)
16.7b
(sqrt.f64 (*.f64 l (*.f64 J 2)))
Compiler

Compiled 66 to 46 computations (30.3% saved)

series19.0ms (0.2%)

Counts
3 → 36
Calls

21 calls:

TimeVariablePointExpression
2.0ms
J
@-inf
(pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2)
1.0ms
l
@-inf
(*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))
1.0ms
l
@-inf
(pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2)
1.0ms
J
@0
(pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2)
1.0ms
J
@-inf
(*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
574×log-prod_binary64
420×exp-prod_binary64
383×pow-prod-down_binary64
281×pow2_binary64
241×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
125231
2275731
Stop Event
node limit
Counts
3 → 106
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 l (*.f64 J 2)))
(pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (+.f64 J J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (+.f64 J J))) (pow.f64 (*.f64 l (+.f64 J J)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (+.f64 J J)) 1/6) (cbrt.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 J J)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (+.f64 J J)) 1/4) (pow.f64 (*.f64 l (+.f64 J J)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l J)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (+.f64 J J)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (+.f64 J J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 l J) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (+.f64 J J)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (+.f64 J J)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (+.f64 J J))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (+.f64 J J)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (+.f64 J J)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 l (+.f64 J J))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (+.f64 J J)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (+.f64 J J))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 l (+.f64 J J)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l (+.f64 J J)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 l (+.f64 J J)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (+.f64 J J))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (+.f64 J J))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 l J) (*.f64 l J))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 l (+.f64 J J)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (+.f64 J J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 J (*.f64 2 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 l J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 J J) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (+.f64 J J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (+.f64 J J))) (sqrt.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 l (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 J J)) 2) (*.f64 (cbrt.f64 (+.f64 J J)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (+.f64 J J))) (pow.f64 (cbrt.f64 (*.f64 l (+.f64 J J))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (+.f64 J J))) 2) (cbrt.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 J J)) (*.f64 (sqrt.f64 (+.f64 J J)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (pow.f64 (*.f64 (+.f64 J J) (*.f64 l (+.f64 J J))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (+.f64 J J)) 1/4) (pow.f64 (*.f64 l (+.f64 J J)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l J) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (+.f64 J J)) 3/4) (pow.f64 (*.f64 l (+.f64 J J)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l 2) J)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (pow.f64 (cbrt.f64 (+.f64 J J)) 2)) (cbrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (sqrt.f64 (+.f64 J J))) (sqrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 J J) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 J J) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (+.f64 J J)) 5/6) (pow.f64 (*.f64 l (+.f64 J J)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 l (+.f64 J J)) l) 1/2) (sqrt.f64 (+.f64 J J)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 l J) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 l (+.f64 J J)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (+.f64 J J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (+.f64 J J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (+.f64 J J))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 l (+.f64 J J)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 l (+.f64 J J)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 l (+.f64 J J)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (+.f64 J J))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (+.f64 J J))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (+.f64 J J)))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l) (cos.f64 (*.f64 K 1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l) (cos.f64 (*.f64 K 1/2))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))) 2)) (cbrt.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))))) (sqrt.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 J) 2) l) (cos.f64 (*.f64 K 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (*.f64 (+.f64 J J) (cos.f64 (*.f64 K 1/2))))) 1) 1))))))

simplify76.0ms (0.8%)

Algorithm
egg-herbie
Rules
433×distribute-neg-in_binary64
421×associate-*l*_binary64
356×neg-mul-1_binary64
354×associate-*r*_binary64
353×neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043814
1119586
2438572
31991562
43168562
56809562
Stop Event
node limit
Counts
142 → 116
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J)) (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 l J)))) (*.f64 1/384 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 l J))))))
(+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 6) (*.f64 l J)))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 l J)))) (*.f64 1/384 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 l J)))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
Outputs
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 -1 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l (*.f64 (pow.f64 (sqrt.f64 -2) 2) J))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J))
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J)) (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 l J)))))
(fma.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J) (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 l J) (*.f64 K K)))))
(fma.f64 2 (*.f64 l J) (*.f64 (*.f64 K (*.f64 K (*.f64 l J))) -1/4))
(*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 l J)))) (*.f64 1/384 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 l J))))))
(fma.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J) (fma.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 l J) (*.f64 K K))) (*.f64 1/384 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 l J) (pow.f64 K 4))))))
(fma.f64 2 (*.f64 l J) (fma.f64 -1/4 (*.f64 K (*.f64 K (*.f64 l J))) (*.f64 (*.f64 (*.f64 l J) (pow.f64 K 4)) 1/192)))
(fma.f64 (*.f64 (*.f64 l J) (pow.f64 K 4)) 1/192 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))))
(*.f64 (*.f64 l J) (+.f64 2 (+.f64 (*.f64 (*.f64 K K) -1/4) (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 l J) (+.f64 (*.f64 (*.f64 K K) -1/4) (+.f64 2 (*.f64 (pow.f64 K 4) 1/192))))
(+.f64 (*.f64 -1/46080 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 6) (*.f64 l J)))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 2) (*.f64 l J)))) (*.f64 1/384 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 K 4) (*.f64 l J)))))))
(fma.f64 -1/46080 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 l J) (pow.f64 K 6))) (fma.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 l J) (fma.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 l J) (*.f64 K K))) (*.f64 1/384 (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 l J) (pow.f64 K 4)))))))
(fma.f64 -1/23040 (*.f64 l (*.f64 J (pow.f64 K 6))) (fma.f64 2 (*.f64 l J) (fma.f64 -1/4 (*.f64 K (*.f64 K (*.f64 l J))) (*.f64 (*.f64 (*.f64 l J) (pow.f64 K 4)) 1/192))))
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) (*.f64 (*.f64 l J) (+.f64 (*.f64 (pow.f64 K 4) 1/192) (*.f64 (pow.f64 K 6) -1/23040))))
(*.f64 (*.f64 l J) (+.f64 (+.f64 2 (*.f64 (*.f64 K K) -1/4)) (+.f64 (*.f64 (pow.f64 K 6) -1/23040) (*.f64 (pow.f64 K 4) 1/192))))
(*.f64 (*.f64 l J) (+.f64 (*.f64 (pow.f64 K 6) -1/23040) (+.f64 (*.f64 (*.f64 K K) -1/4) (+.f64 2 (*.f64 (pow.f64 K 4) 1/192)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 l J)))
(*.f64 (cos.f64 (*.f64 1/2 K)) (*.f64 2 (*.f64 l J)))
(*.f64 (*.f64 l J) (*.f64 2 (cos.f64 (*.f64 1/2 K))))

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sinh.f64 l)
0.0b
(*.f64 2 (*.f64 (sinh.f64 l) J))
0.2b
(pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)
16.7b
(sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))
Compiler

Compiled 47 to 23 computations (51.1% saved)

series8.0ms (0.1%)

Counts
3 → 40
Calls

18 calls:

TimeVariablePointExpression
1.0ms
l
@inf
(sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))
1.0ms
J
@-inf
(pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)
1.0ms
J
@0
(pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)
1.0ms
J
@inf
(pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)
1.0ms
l
@0
(pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)

rewrite63.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
763×pow1_binary64
706×add-log-exp_binary64
705×log1p-expm1-u_binary64
705×expm1-log1p-u_binary64
689×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0929
118929
2200229
Stop Event
node limit
Counts
3 → 68
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))
(pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)
(*.f64 2 (*.f64 (sinh.f64 l) J))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sinh.f64 l) J)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2))) (sqrt.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (sinh.f64 l))) (sqrt.f64 J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (sinh.f64 l)) 1/2) (sqrt.f64 J))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sinh.f64 l) J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sinh.f64 l) (*.f64 J 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 J (*.f64 2 (sinh.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sinh.f64 l) J) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) J)) 2) (*.f64 (cbrt.f64 (*.f64 (sinh.f64 l) J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2)) (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4) (*.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4) (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (*.f64 (sinh.f64 l) J)) (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sinh.f64 l) J)) (*.f64 (sqrt.f64 (*.f64 (sinh.f64 l) J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sinh.f64 l)) J)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4)) (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (sinh.f64 l) J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 J) (sinh.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 (sinh.f64 l) J)) 2)) (cbrt.f64 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 (sinh.f64 l) J))) (sqrt.f64 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))) (cbrt.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) (sqrt.f64 2)) (sqrt.f64 (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 2 (sinh.f64 l)) 1) J)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (pow.f64 (cbrt.f64 J) 2)) (cbrt.f64 J))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 2 (sinh.f64 l)) (sqrt.f64 J)) (sqrt.f64 J))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 2 (*.f64 (sinh.f64 l) J))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 (sinh.f64 l) J)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (sinh.f64 l) J)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))))))))

simplify61.0ms (0.6%)

Algorithm
egg-herbie
Rules
1001×fma-def_binary64
676×unsub-neg_binary64
581×distribute-rgt-in_binary64
558×distribute-lft-in_binary64
505×times-frac_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0441100
1117733
2334638
31129636
42814634
56685634
Stop Event
node limit
Counts
108 → 76
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 2 (*.f64 l J))
(*.f64 2 (*.f64 J l))
(+.f64 (*.f64 2 (*.f64 l J)) (*.f64 1/3 (*.f64 (pow.f64 l 3) J)))
(fma.f64 2 (*.f64 J l) (*.f64 1/3 (*.f64 J (pow.f64 l 3))))
(*.f64 J (+.f64 (*.f64 2 l) (*.f64 1/3 (pow.f64 l 3))))
(*.f64 J (fma.f64 1/3 (pow.f64 l 3) (*.f64 2 l)))
(*.f64 J (*.f64 l (fma.f64 1/3 (*.f64 l l) 2)))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5)))))
(fma.f64 2 (*.f64 J l) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (+.f64 (*.f64 2 l) (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5)))))
(*.f64 J (fma.f64 2 l (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3)))))
(*.f64 J (fma.f64 l (fma.f64 1/3 (*.f64 l l) 2) (*.f64 1/60 (pow.f64 l 5))))
(+.f64 (*.f64 2 (*.f64 l J)) (+.f64 (*.f64 1/2520 (*.f64 (pow.f64 l 7) J)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 l 3) J)) (*.f64 1/60 (*.f64 (pow.f64 l 5) J)))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (fma.f64 1/3 (*.f64 J (pow.f64 l 3)) (*.f64 1/60 (*.f64 J (pow.f64 l 5))))))
(fma.f64 2 (*.f64 J l) (fma.f64 1/2520 (*.f64 J (pow.f64 l 7)) (*.f64 J (+.f64 (*.f64 1/3 (pow.f64 l 3)) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (+.f64 (fma.f64 1/3 (pow.f64 l 3) (*.f64 1/60 (pow.f64 l 5))) (fma.f64 2 l (*.f64 1/2520 (pow.f64 l 7)))))
(*.f64 J (+.f64 (*.f64 2 l) (fma.f64 1/2520 (pow.f64 l 7) (fma.f64 1/60 (pow.f64 l 5) (*.f64 1/3 (pow.f64 l 3))))))
(*.f64 J (fma.f64 2 l (fma.f64 1/3 (pow.f64 l 3) (fma.f64 1/2520 (pow.f64 l 7) (*.f64 1/60 (pow.f64 l 5))))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 (-.f64 (exp.f64 l) (/.f64 1 (exp.f64 l))) J)
(*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (pow.f64 (sqrt.f64 1/2) 2)))
(*.f64 (*.f64 1 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.7b
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
Compiler

Compiled 36 to 23 computations (36.1% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
l
@0
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
0.0ms
J
@-inf
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
0.0ms
l
@inf
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
0.0ms
l
@-inf
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
0.0ms
J
@inf
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)

rewrite67.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
555×unpow-prod-down_binary64
408×log-prod_binary64
366×prod-diff_binary64
314×fma-def_binary64
248×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01014
12158
228038
Stop Event
node limit
Counts
1 → 100
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 l (*.f64 2 J) (-.f64 U 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 U (*.f64 l (*.f64 2 J)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 l (*.f64 2 J) U) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 l (*.f64 2 J) U))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 l (*.f64 2 J)) U)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 l (*.f64 2 J)) 1) U)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 l (*.f64 2 J) U))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 l (*.f64 2 J) U)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 l (*.f64 2 J) U)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 l (*.f64 2 J) U)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 l (*.f64 2 J) U))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 l (*.f64 2 J) U) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U)) (cbrt.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2)) (cbrt.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) (sqrt.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (/.f64 1 (+.f64 (fma.f64 l (*.f64 2 J) U) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (pow.f64 (/.f64 1 (+.f64 (fma.f64 l (*.f64 2 J) U) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 l (*.f64 2 J) U))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 1) 1) (pow.f64 (expm1.f64 (*.f64 1/2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U))) 2) 3) (cbrt.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 l (*.f64 2 J) U) (cbrt.f64 (fma.f64 l (*.f64 2 J) U))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 l (*.f64 2 J) U) 2) (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (-.f64 1 (*.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (+.f64 (fma.f64 l (*.f64 2 J) U) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U))))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U))))) (neg.f64 (+.f64 (fma.f64 l (*.f64 2 J) U) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 l (*.f64 2 J)) 3) (pow.f64 U 3)) (+.f64 (pow.f64 (*.f64 l (*.f64 2 J)) 2) (-.f64 (*.f64 U U) (*.f64 (*.f64 l (*.f64 2 J)) U))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 2) (fma.f64 l (*.f64 2 J) (-.f64 U 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 l (*.f64 2 J)) 2) (*.f64 U U)) (-.f64 (*.f64 l (*.f64 2 J)) U))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 2)) (-.f64 1 (fma.f64 l (*.f64 2 J) (-.f64 U 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 l (*.f64 2 J) U) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (fma.f64 l (*.f64 2 J) U) 2) (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 l (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 U) (exp.f64 (*.f64 l (*.f64 2 J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 U)) (exp.f64 (*.f64 l (*.f64 2 J)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 l (*.f64 2 J))) (+.f64 1 (expm1.f64 U))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2) (fma.f64 l (*.f64 2 J) U))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (fma.f64 l (*.f64 2 J) U)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 l (*.f64 2 J) U)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 l (*.f64 2 J) U)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 l (*.f64 2 J) U))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 U (*.f64 l (*.f64 2 J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 l (*.f64 2 J) U) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 l (*.f64 2 J)) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 l J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (*.f64 2 J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 l l) J U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 J (+.f64 l l) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 U 1 (*.f64 l (*.f64 2 J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 l (*.f64 2 J) U) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) U)) (cbrt.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2)) (cbrt.f64 (fma.f64 l (*.f64 2 J) U)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (*.f64 l l))) (*.f64 (cbrt.f64 (+.f64 l l)) J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) (pow.f64 (cbrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 2) (cbrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 2) (*.f64 (cbrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 U) (pow.f64 (cbrt.f64 U) 2) (*.f64 l (*.f64 2 J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 U) 2) (cbrt.f64 U) (*.f64 l (*.f64 2 J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 l l)) (*.f64 (sqrt.f64 (+.f64 l l)) J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) (*.f64 (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 U) (sqrt.f64 U) (*.f64 l (*.f64 2 J)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (*.f64 2 J)) 1 U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U)) 2) (+.f64 (fma.f64 l (*.f64 2 J) U) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (fma.f64 l (*.f64 2 J) U) 3)) (/.f64 1 (fma.f64 (fma.f64 l (*.f64 2 J) U) (fma.f64 l (*.f64 2 J) (-.f64 U 1)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) (/.f64 1 (+.f64 (fma.f64 l (*.f64 2 J) U) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (fma.f64 l (*.f64 2 J) U) 2)) (/.f64 1 (-.f64 1 (fma.f64 l (*.f64 2 J) U))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 l (*.f64 2 J))) 2) (cbrt.f64 (*.f64 l (*.f64 2 J))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1))) 2) (cbrt.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1))) (sqrt.f64 (fma.f64 l (*.f64 2 J) (-.f64 U 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (fma.f64 l (*.f64 2 J) U))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (fma.f64 l (*.f64 2 J) U)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) 1) (-.f64 (sqrt.f64 (fma.f64 l (*.f64 2 J) U)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 l (*.f64 2 J))) (sqrt.f64 (*.f64 l (*.f64 2 J))) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 l l) (pow.f64 (cbrt.f64 J) 2)) (cbrt.f64 J) U)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 l l) (sqrt.f64 J)) (sqrt.f64 J) U)))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08255
114255
223255
329255
Stop Event
saturated
Counts
136 → 103
Calls
Call 1
Inputs
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
Outputs
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
U
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)
(+.f64 (*.f64 2 (*.f64 l J)) U)
(fma.f64 2 (*.f64 l J) U)

eval208.0ms (2.1%)

Compiler

Compiled 5685 to 3478 computations (38.8% saved)

prune134.0ms (1.3%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New3462348
Fresh011
Picked101
Done088
Total34711358
Error
0b
Counts
358 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
23.9b
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) U)
0.7b
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
14.5b
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
0.7b
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
6.5b
(+.f64 (*.f64 (*.f64 2 l) J) U)
22.8b
(+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2))) U)
55.5b
(-.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)
52.9b
(*.f64 2 (*.f64 l J))
25.4b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2) U)
15.5b
U
5.9b
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
Compiler

Compiled 147 to 112 computations (23.8% saved)

regimes299.0ms (3%)

Counts
18 → 1
Calls
Call 1
Inputs
U
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 (*.f64 2 l) J) U)
(-.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) U)
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
(+.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2) U)
(+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2))) U)
(+.f64 (pow.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 1) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (sinh.f64 l) (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 (*.f64 J (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (sinh.f64 l))) (cbrt.f64 (*.f64 2 (sinh.f64 l)))) (cbrt.f64 (*.f64 2 (sinh.f64 l))))) (cos.f64 (/.f64 K 2))) U)
Outputs
(+.f64 (pow.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 1) U)
Calls

15 calls:

92.0ms
(/.f64 K 2)
55.0ms
K
19.0ms
(/.f64 K 2)
19.0ms
l
18.0ms
J
Results
ErrorSegmentsBranch
0.0b1J
0.0b1l
0.0b1K
0.0b1U
0.0b1(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2))) U)
0.0b1(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
0.0b1(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K 2)))
0.0b1(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
0.0b1(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
0.0b1(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
0.0b1(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
0.0b1(cos.f64 (/.f64 K 2))
0.0b1(cos.f64 (/.f64 K 2))
0.0b1(/.f64 K 2)
0.0b1(/.f64 K 2)
Compiler

Compiled 361 to 252 computations (30.2% saved)

regimes86.0ms (0.9%)

Counts
14 → 1
Calls
Call 1
Inputs
U
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 (*.f64 2 l) J) U)
(-.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) U)
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
(+.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 (sinh.f64 l) J))) 2) U)
(+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 l (*.f64 J 2))) 2) (cos.f64 (/.f64 K 2))) U)
Outputs
(+.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))) U)
Calls

8 calls:

32.0ms
(cos.f64 (/.f64 K 2))
9.0ms
K
8.0ms
J
8.0ms
(/.f64 K 2)
7.0ms
l
Results
ErrorSegmentsBranch
0.0b1J
0.0b1l
0.0b1K
0.0b1U
0.0b1(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
0.0b1(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
0.0b1(cos.f64 (/.f64 K 2))
0.0b1(/.f64 K 2)
Compiler

Compiled 197 to 137 computations (30.5% saved)

regimes75.0ms (0.8%)

Counts
11 → 1
Calls
Call 1
Inputs
U
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 (*.f64 2 l) J) U)
(-.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) U)
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
(+.f64 (*.f64 (*.f64 (*.f64 2 l) J) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 2 (*.f64 l (*.f64 (cos.f64 (*.f64 1/2 K)) J))) U)
(+.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) J) U)
Outputs
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
Calls

10 calls:

12.0ms
K
9.0ms
(/.f64 K 2)
8.0ms
l
7.0ms
U
7.0ms
(/.f64 K 2)
Results
ErrorSegmentsBranch
0.7b1J
0.7b1l
0.7b1K
0.7b1U
0.7b1(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
0.7b1(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
0.7b1(cos.f64 (/.f64 K 2))
0.7b1(cos.f64 (/.f64 K 2))
0.7b1(/.f64 K 2)
0.7b1(/.f64 K 2)
Compiler

Compiled 173 to 124 computations (28.3% saved)

regimes28.0ms (0.3%)

Counts
7 → 1
Calls
Call 1
Inputs
U
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 (*.f64 2 l) J) U)
(-.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) U)
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
(-.f64 (+.f64 1 (fma.f64 (*.f64 2 l) J U)) 1)
Outputs
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
Calls

4 calls:

9.0ms
U
6.0ms
J
5.0ms
K
5.0ms
l
Results
ErrorSegmentsBranch
5.9b1J
5.9b1l
5.9b1K
5.9b1U
Compiler

Compiled 77 to 52 computations (32.5% saved)

regimes21.0ms (0.2%)

Counts
5 → 1
Calls
Call 1
Inputs
U
(*.f64 2 (*.f64 l J))
(+.f64 (*.f64 (*.f64 2 l) J) U)
(-.f64 (+.f64 1 (*.f64 2 (*.f64 l J))) 1)
(+.f64 (*.f64 (*.f64 l J) (+.f64 2 (*.f64 (*.f64 K K) -1/4))) U)
Outputs
(+.f64 (*.f64 (*.f64 2 l) J) U)
Calls

4 calls:

5.0ms
l
5.0ms
K
5.0ms
U
5.0ms
J
Results
ErrorSegmentsBranch
6.5b1J
6.5b1l
6.5b1K
6.5b1U
Compiler

Compiled 59 to 40 computations (32.2% saved)

regimes30.0ms (0.3%)

Accuracy

Total -47.9b remaining (-346.9%)

Threshold costs -47.9b (-346.9%)

Counts
2 → 3
Calls
Call 1
Inputs
U
(*.f64 2 (*.f64 l J))
Outputs
U
(*.f64 2 (*.f64 l J))
U
Calls

4 calls:

9.0ms
U
9.0ms
J
8.0ms
K
3.0ms
l
Results
ErrorSegmentsBranch
13.9b2J
15.5b1l
15.5b1K
13.8b3U
Compiler

Compiled 30 to 23 computations (23.3% saved)

bsearch201.0ms (2%)

Algorithm
binary-search
Steps
TimeLeftRight
96.0ms
4.6815446379792105e-273
1.2461485010436398e-267
105.0ms
-3.973562135617725e-276
-8.830609115912321e-278
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
+-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039102
160102
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 1) U)
(+.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))) U)
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
(+.f64 (*.f64 (*.f64 2 l) J) U)
(if (<=.f64 U -2478311088345851/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) U (if (<=.f64 U 5702890319436667/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (*.f64 2 (*.f64 l J)) U))
U
Outputs
(+.f64 (pow.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) 1) U)
(+.f64 (*.f64 J (*.f64 (*.f64 2 (sinh.f64 l)) (cos.f64 (*.f64 K 1/2)))) U)
(+.f64 (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))) U)
(+.f64 U (*.f64 (*.f64 J (*.f64 2 (sinh.f64 l))) (cos.f64 (/.f64 K 2))))
(+.f64 (*.f64 2 (*.f64 J (*.f64 (cos.f64 (*.f64 K 1/2)) l))) U)
(+.f64 U (*.f64 2 (*.f64 J (*.f64 l (cos.f64 (*.f64 K 1/2))))))
(+.f64 (*.f64 (*.f64 2 (sinh.f64 l)) J) U)
(+.f64 U (*.f64 J (*.f64 2 (sinh.f64 l))))
(+.f64 (*.f64 (*.f64 2 l) J) U)
(+.f64 U (*.f64 J (*.f64 2 l)))
(if (<=.f64 U -2478311088345851/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) U (if (<=.f64 U 5702890319436667/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (*.f64 2 (*.f64 l J)) U))
(if (<=.f64 U -2478311088345851/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) U (if (<=.f64 U 5702890319436667/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (*.f64 2 (*.f64 J l)) U))
U
Compiler

Compiled 97 to 72 computations (25.8% saved)

soundness0.0ms (0%)

end82.0ms (0.8%)

Compiler

Compiled 73 to 46 computations (37% saved)

Profiling

Loading profile data...