Details

Time bar (total: 7.1s)

analyze12.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%25%75%0
0%25%75%1
12.5%12.5%75%2
12.5%12.5%75%3
18.7%6.2%75%4
21.8%3.1%75%5
23.4%1.6%75%6
23.4%1.6%75%7
24.2%0.8%75%8
24.2%0.8%75%9
24.6%0.4%75%10
24.6%0.4%75%11
24.8%0.2%75%12
Compiler

Compiled 20 to 14 computations (30% saved)

sample2.6s (36.5%)

Results
1.2s2060×body1024valid
1.0s5133×body256valid
402.0ms1058×body512valid
4.0msbody2048valid

preprocess17.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01634
12830
24030
34630
44830
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 v (sin.f64 e)) (+.f64 1 (*.f64 v (cos.f64 e))))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (+.f64 1 (*.f64 e (cos.f64 v))) (sin.f64 v)))
(*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))
(*.f64 (sin.f64 v) (/.f64 e (fma.f64 e (cos.f64 v) 1)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 v (sin.f64 e)) (+.f64 1 (*.f64 v (cos.f64 e))))
(*.f64 (/.f64 v (fma.f64 v (cos.f64 e) 1)) (sin.f64 e))
(*.f64 (sin.f64 e) (/.f64 v (fma.f64 v (cos.f64 e) 1)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01017
11715
22315
32615
42715
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (+.f64 1 (*.f64 e (cos.f64 v))) (sin.f64 v)))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))

eval1.0ms (0%)

Compiler

Compiled 23 to 13 computations (43.5% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.1b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 13 to 9 computations (30.8% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 v)
0.0b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
0.1b
(*.f64 e (sin.f64 v))
0.2b
(*.f64 e (cos.f64 v))
Compiler

Compiled 34 to 12 computations (64.7% saved)

series13.0ms (0.2%)

Counts
4 → 76
Calls

21 calls:

TimeVariablePointExpression
1.0ms
v
@0
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0ms
v
@0
(*.f64 e (sin.f64 v))
1.0ms
e
@0
(*.f64 e (cos.f64 v))
1.0ms
v
@0
(*.f64 e (cos.f64 v))
1.0ms
e
@0
(*.f64 e (sin.f64 v))

rewrite74.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
370×prod-diff_binary64
345×pow-prod-down_binary64
274×pow2_binary64
254×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01032
120730
2283130
Stop Event
node limit
Counts
4 → 129
Calls
Call 1
Inputs
(*.f64 e (cos.f64 v))
(*.f64 e (sin.f64 v))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(sin.f64 v)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 e (cos.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (cos.f64 v))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (cos.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (cos.f64 v)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (cos.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 e (cos.f64 v) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 e (cos.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (cos.f64 v)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 e (cos.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 e (cos.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (cos.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 e (cos.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (cos.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 e (cos.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 e (cos.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 e (cos.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 e (cos.f64 v))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 e (cos.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 e (cos.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 e (cos.f64 v))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 e (cos.f64 v)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 e (cos.f64 v)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 e (cos.f64 v)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 e (cos.f64 v) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 e (cos.f64 v) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2) (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 3)) (/.f64 1 (fma.f64 (*.f64 e (cos.f64 v)) (fma.f64 e (cos.f64 v) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (/.f64 1 (-.f64 1 (*.f64 e (cos.f64 v)))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 e (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 e (sin.f64 v)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 e (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (sin.f64 v)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 e (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 e (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 e (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 e (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 e (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 e (sin.f64 v))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 e (sin.f64 v)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 e (sin.f64 v)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 e (sin.f64 v)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (*.f64 (sin.f64 v) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (*.f64 e (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 2) (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (*.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) (sqrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (*.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (/.f64 1 (neg.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) (*.f64 e (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e 1) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) 1) (/.f64 e (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) 1) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) 1) (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2)) (/.f64 (sin.f64 v) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2)) (/.f64 e (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) -2) (/.f64 (*.f64 e (sin.f64 v)) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2)) (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2)) (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (sin.f64 v) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 e (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) -1/2) (/.f64 (*.f64 e (sin.f64 v)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 3))) (fma.f64 (*.f64 e (cos.f64 v)) (fma.f64 e (cos.f64 v) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3) (pow.f64 (fma.f64 e (cos.f64 v) 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 e (sin.f64 v)) (neg.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3) (pow.f64 (fma.f64 e (cos.f64 v) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 v))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 v))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 v))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 v))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 v) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 v)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 v))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 v))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 v))) 2))))))

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
753×fma-neg_binary64
740×fma-def_binary64
518×associate-*l*_binary64
475×associate-*r*_binary64
347×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01251421
13791366
212081328
355141271
Stop Event
node limit
Counts
205 → 176
Calls
Call 1
Inputs
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
e
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 v 2) e)) e)
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 v 4) e)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 v 2) e)) e))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 v 6) e)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 v 4) e)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 v 2) e)) e)))
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
Outputs
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
e
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 v 2) e)) e)
(fma.f64 -1/2 (*.f64 e (*.f64 v v)) e)
(fma.f64 -1/2 (*.f64 v (*.f64 v e)) e)
(*.f64 e (fma.f64 -1/2 (*.f64 v v) 1))
(*.f64 e (fma.f64 (*.f64 v -1/2) v 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 v 4) e)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 v 2) e)) e))
(fma.f64 1/24 (*.f64 e (pow.f64 v 4)) (fma.f64 -1/2 (*.f64 e (*.f64 v v)) e))
(fma.f64 1/24 (*.f64 e (pow.f64 v 4)) (fma.f64 -1/2 (*.f64 v (*.f64 v e)) e))
(fma.f64 e (fma.f64 1/24 (pow.f64 v 4) (*.f64 v (*.f64 v -1/2))) e)
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 v 6) e)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 v 4) e)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 v 2) e)) e)))
(fma.f64 -1/720 (*.f64 e (pow.f64 v 6)) (fma.f64 1/24 (*.f64 e (pow.f64 v 4)) (fma.f64 -1/2 (*.f64 e (*.f64 v v)) e)))
(fma.f64 -1/720 (*.f64 e (pow.f64 v 6)) (fma.f64 1/24 (*.f64 e (pow.f64 v 4)) (fma.f64 -1/2 (*.f64 v (*.f64 v e)) e)))
(fma.f64 e (fma.f64 -1/720 (pow.f64 v 6) (*.f64 1/24 (pow.f64 v 4))) (*.f64 e (fma.f64 -1/2 (*.f64 v v) 1)))
(fma.f64 e (*.f64 -1/720 (pow.f64 v 6)) (fma.f64 e (fma.f64 1/24 (pow.f64 v 4) (*.f64 v (*.f64 v -1/2))) e))
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (cos.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 v e))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 v e)))
(+.f64 (*.f64 v e) (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (fma.f64 v e (*.f64 -1/5040 (*.f64 e (pow.f64 v 7))))))
(+.f64 (*.f64 e (+.f64 v (*.f64 -1/5040 (pow.f64 v 7)))) (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5))))))
(*.f64 e (+.f64 v (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/6 (pow.f64 v 3) (*.f64 -1/5040 (pow.f64 v 7))))))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (*.f64 e (sin.f64 v)))
(-.f64 (*.f64 e (sin.f64 v)) (*.f64 (cos.f64 v) (*.f64 (*.f64 e e) (sin.f64 v))))
(*.f64 (sin.f64 v) (-.f64 e (*.f64 (cos.f64 v) (*.f64 e e))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(-.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (cos.f64 v) (*.f64 (*.f64 e e) (sin.f64 v))))
(*.f64 (sin.f64 v) (-.f64 (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e) (*.f64 (cos.f64 v) (*.f64 e e))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(+.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (neg.f64 (sin.f64 v)) (+.f64 (*.f64 (cos.f64 v) (*.f64 e e)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(-.f64 (*.f64 (sin.f64 v) (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e)) (*.f64 (sin.f64 v) (fma.f64 (cos.f64 v) (*.f64 e e) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(fma.f64 (sin.f64 v) (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e) (*.f64 (neg.f64 (sin.f64 v)) (fma.f64 (cos.f64 v) (*.f64 e e) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(*.f64 (+.f64 (/.f64 -1 (*.f64 (cos.f64 v) e)) 1) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 3)) (*.f64 e e)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3))))))
(+.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (*.f64 (+.f64 (/.f64 -1 (*.f64 (cos.f64 v) e)) 1) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3)) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 3)) (*.f64 e e)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3)))) (-.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(+.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (-.f64 (*.f64 (+.f64 (/.f64 -1 (*.f64 (cos.f64 v) e)) 1) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(*.f64 (+.f64 (/.f64 -1 (*.f64 (cos.f64 v) e)) 1) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 3)) (*.f64 e e)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3))))))
(+.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (*.f64 (+.f64 (/.f64 -1 (*.f64 (cos.f64 v) e)) 1) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3)) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 3)) (*.f64 e e)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3)))) (-.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(+.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (-.f64 (*.f64 (+.f64 (/.f64 -1 (*.f64 (cos.f64 v) e)) 1) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 (/.f64 v (+.f64 e 1)) e)
(/.f64 (*.f64 v e) (+.f64 e 1))
(*.f64 e (/.f64 v (+.f64 e 1)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(fma.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (*.f64 (/.f64 v (+.f64 e 1)) e))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2)) (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (pow.f64 v 3) (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 -1/6 (/.f64 (*.f64 e -1/2) (+.f64 e 1)))) (*.f64 e (/.f64 v (+.f64 e 1))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e)))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (+.f64 e 1)) e) (/.f64 1/24 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))))) (*.f64 (/.f64 v (+.f64 e 1)) e)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2)) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) -1/24)) (/.f64 (*.f64 1/2 e) (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2))))) (/.f64 (*.f64 v e) (+.f64 e 1))))
(fma.f64 (pow.f64 v 3) (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 -1/6 (/.f64 (*.f64 e -1/2) (+.f64 e 1)))) (fma.f64 (pow.f64 v 5) (+.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 1/120 (/.f64 (*.f64 e 1/24) (+.f64 e 1)))) (*.f64 (+.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))) 1/2)) (*.f64 e (/.f64 v (+.f64 e 1)))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e))) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e))))) (/.f64 (+.f64 e 1) e)) (/.f64 (*.f64 -1/720 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (*.f64 (/.f64 v (+.f64 e 1)) e)) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (+.f64 e 1)) e) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (+.f64 e 1)) e) (/.f64 1/24 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))))) (+.f64 e 1)) e) (/.f64 -1/720 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (+.f64 e 1)) e) (/.f64 1/24 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2)) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) -1/24)) (/.f64 (*.f64 1/2 e) (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2))))) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) -1/24)) (/.f64 (*.f64 1/2 e) (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2)))))) (fma.f64 -1/720 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) e) 1/2)) (+.f64 e 1)) (*.f64 e 1/24))))) (/.f64 (*.f64 v e) (+.f64 e 1)))))
(fma.f64 (pow.f64 v 3) (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 -1/6 (/.f64 (*.f64 e -1/2) (+.f64 e 1)))) (fma.f64 (pow.f64 v 5) (+.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 1/120 (/.f64 (*.f64 e 1/24) (+.f64 e 1)))) (*.f64 (+.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))) 1/2)) (fma.f64 (pow.f64 v 7) (+.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 -1/5040 (/.f64 (*.f64 e -1/720) (+.f64 e 1)))) (*.f64 e (-.f64 (*.f64 -1/24 (/.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 -1/6 (/.f64 (*.f64 e -1/2) (+.f64 e 1)))) (+.f64 e 1))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 1/120 (/.f64 (*.f64 e 1/24) (+.f64 e 1)))) (*.f64 (+.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))) 1/2)) (+.f64 e 1)))))) (*.f64 e (/.f64 v (+.f64 e 1))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(/.f64 (sin.f64 v) (/.f64 (fma.f64 (cos.f64 v) e 1) e))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(fma.f64 -1/6 (pow.f64 v 3) v)
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/6 (pow.f64 v 3) (*.f64 -1/5040 (pow.f64 v 7)))))

eval56.0ms (0.8%)

Compiler

Compiled 3456 to 1822 computations (47.3% saved)

prune37.0ms (0.5%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New16115176
Fresh000
Picked011
Done000
Total16116177
Error
0.0b
Counts
177 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
0.8b
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
0.3b
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
27.0b
(/.f64 (exp.f64 (log.f64 (*.f64 e (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(/.f64 (*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
5.1b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
12.7b
(/.f64 (*.f64 e (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(*.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))
25.0b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) 2) (+.f64 1 (*.f64 e (cos.f64 v))))
1.1b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 3) (+.f64 1 (*.f64 e (cos.f64 v))))
33.4b
(*.f64 e (/.f64 v (+.f64 e 1)))
33.4b
(/.f64 (*.f64 v e) (+.f64 1 e))
33.4b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3)) (+.f64 1 (*.f64 e (cos.f64 v))))
12.4b
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
1.1b
(pow.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e) -1)
Compiler

Compiled 453 to 321 computations (29.1% saved)

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v))))
0.1b
(expm1.f64 (log1p.f64 (sin.f64 v)))
0.2b
(*.f64 e (cos.f64 v))
0.2b
(log1p.f64 (sin.f64 v))
Compiler

Compiled 45 to 14 computations (68.9% saved)

series46.0ms (0.6%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
25.0ms
v
@inf
(log1p.f64 (sin.f64 v))
18.0ms
v
@-inf
(log1p.f64 (sin.f64 v))
1.0ms
v
@0
(log1p.f64 (sin.f64 v))
0.0ms
v
@0
(expm1.f64 (log1p.f64 (sin.f64 v)))
0.0ms
v
@-inf
(expm1.f64 (log1p.f64 (sin.f64 v)))

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
543×pow1_binary64
518×add-sqr-sqrt_binary64
497×add-log-exp_binary64
497×expm1-log1p-u_binary64
496×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
111714
2135414
Stop Event
node limit
Counts
3 → 45
Calls
Call 1
Inputs
(log1p.f64 (sin.f64 v))
(expm1.f64 (log1p.f64 (sin.f64 v)))
(*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log1p.f64 (sin.f64 v))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) (pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 2) (cbrt.f64 (log1p.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (sin.f64 v))) (sqrt.f64 (log1p.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (sin.f64 v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (sin.f64 v))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (sin.f64 v) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 v) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 v) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 v) 1) (+.f64 (sin.f64 v) 1)) (+.f64 1 (*.f64 (+.f64 (sin.f64 v) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (sin.f64 v) 1) (+.f64 (sin.f64 v) 1)) 1) (+.f64 (+.f64 (sin.f64 v) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 v)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 v)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 v)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 v) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))))

simplify149.0ms (2.1%)

Algorithm
egg-herbie
Rules
959×fma-def_binary64
892×distribute-lft-out_binary64
570×sqr-pow_binary64
462×associate-*l*_binary64
311×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054388
1136352
2355338
31124328
43215328
54357328
65895328
76157328
86447328
96728328
107154328
117681328
Stop Event
node limit
Counts
93 → 67
Calls
Call 1
Inputs
v
(+.f64 v (*.f64 -1/2 (pow.f64 v 2)))
(+.f64 (*.f64 1/6 (pow.f64 v 3)) (+.f64 v (*.f64 -1/2 (pow.f64 v 2))))
(+.f64 (*.f64 1/6 (pow.f64 v 3)) (+.f64 v (+.f64 (*.f64 -1/2 (pow.f64 v 2)) (*.f64 -1/12 (pow.f64 v 4)))))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
(log.f64 (+.f64 (sin.f64 v) 1))
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
Outputs
v
(+.f64 v (*.f64 -1/2 (pow.f64 v 2)))
(+.f64 v (*.f64 -1/2 (*.f64 v v)))
(fma.f64 -1/2 (*.f64 v v) v)
(fma.f64 v (*.f64 v -1/2) v)
(*.f64 v (fma.f64 v -1/2 1))
(+.f64 (*.f64 1/6 (pow.f64 v 3)) (+.f64 v (*.f64 -1/2 (pow.f64 v 2))))
(fma.f64 1/6 (pow.f64 v 3) (+.f64 v (*.f64 -1/2 (*.f64 v v))))
(fma.f64 1/6 (pow.f64 v 3) (fma.f64 -1/2 (*.f64 v v) v))
(fma.f64 v (*.f64 v -1/2) (fma.f64 1/6 (pow.f64 v 3) v))
(fma.f64 v (*.f64 v (fma.f64 v 1/6 -1/2)) v)
(fma.f64 (*.f64 v v) (fma.f64 v 1/6 -1/2) v)
(+.f64 (*.f64 1/6 (pow.f64 v 3)) (+.f64 v (+.f64 (*.f64 -1/2 (pow.f64 v 2)) (*.f64 -1/12 (pow.f64 v 4)))))
(fma.f64 1/6 (pow.f64 v 3) (+.f64 v (fma.f64 -1/2 (*.f64 v v) (*.f64 -1/12 (pow.f64 v 4)))))
(+.f64 (fma.f64 1/6 (pow.f64 v 3) (fma.f64 -1/2 (*.f64 v v) v)) (*.f64 -1/12 (pow.f64 v 4)))
(fma.f64 1/6 (pow.f64 v 3) (fma.f64 v (*.f64 v -1/2) (fma.f64 -1/12 (pow.f64 v 4) v)))
(fma.f64 (*.f64 v v) (fma.f64 v 1/6 -1/2) (fma.f64 -1/12 (pow.f64 v 4) v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
(log.f64 (+.f64 (sin.f64 v) 1))
(log1p.f64 (sin.f64 v))
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(+.f64 v (*.f64 (pow.f64 v 3) -1/6))
(fma.f64 (pow.f64 v 3) -1/6 v)
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 (fma.f64 (pow.f64 v 3) -1/6 v) (*.f64 1/120 (pow.f64 v 5)))
(fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) v))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 (fma.f64 (pow.f64 v 3) -1/6 v) (fma.f64 1/120 (pow.f64 v 5) (*.f64 -1/5040 (pow.f64 v 7))))
(+.f64 v (fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) (*.f64 -1/5040 (pow.f64 v 7)))))
(fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (*.f64 v e))
(*.f64 e (fma.f64 (pow.f64 v 3) -1/6 v))
(*.f64 (fma.f64 (pow.f64 v 3) -1/6 v) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (*.f64 v e)))
(+.f64 (*.f64 e (fma.f64 (pow.f64 v 3) -1/6 v)) (*.f64 (pow.f64 v 5) (*.f64 1/120 e)))
(*.f64 e (fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) v)))
(*.f64 (fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) v)) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (fma.f64 v e (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(+.f64 (*.f64 e (+.f64 v (*.f64 -1/5040 (pow.f64 v 7)))) (*.f64 e (fma.f64 (pow.f64 v 3) -1/6 (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 v (fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) (*.f64 -1/5040 (pow.f64 v 7))))))
(*.f64 e (fma.f64 (pow.f64 v 3) -1/6 (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 e (/.f64 v (+.f64 e 1)))
0.0b
(/.f64 v (+.f64 e 1))
Compiler

Compiled 20 to 12 computations (40% saved)

series6.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
v
@0
(*.f64 e (/.f64 v (+.f64 e 1)))
1.0ms
v
@inf
(/.f64 v (+.f64 e 1))
1.0ms
v
@-inf
(*.f64 e (/.f64 v (+.f64 e 1)))
1.0ms
v
@0
(/.f64 v (+.f64 e 1))
1.0ms
v
@-inf
(/.f64 v (+.f64 e 1))

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
824×pow1_binary64
767×log1p-expm1-u_binary64
767×expm1-log1p-u_binary64
766×add-log-exp_binary64
750×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115017
2206517
Stop Event
node limit
Counts
2 → 55
Calls
Call 1
Inputs
(/.f64 v (+.f64 e 1))
(*.f64 e (/.f64 v (+.f64 e 1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 v (+.f64 e 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 v (/.f64 1 (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 v (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v (+.f64 e 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 v (+.f64 e 1))) (pow.f64 (cbrt.f64 (/.f64 v (+.f64 e 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 v (+.f64 e 1))) 2) (cbrt.f64 (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 v) 2) (*.f64 (cbrt.f64 v) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 v (+.f64 e 1))) (sqrt.f64 (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 v) (*.f64 (sqrt.f64 v) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 v) (/.f64 1 (+.f64 -1 (neg.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 e 1)) v)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 v) 2) 1) (/.f64 (cbrt.f64 v) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 v) 1) (/.f64 (sqrt.f64 v) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 v (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 v) 2) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (cbrt.f64 (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 v) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 (sqrt.f64 v) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 e 1))) (/.f64 v (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 v) 2) (sqrt.f64 (+.f64 e 1))) (/.f64 (cbrt.f64 v) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v (+.f64 1 (pow.f64 e 3))) (fma.f64 e e (-.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v (fma.f64 e e -1)) (+.f64 e -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 v (+.f64 e 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 v (+.f64 e 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 v (+.f64 e 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 v (+.f64 e 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 e 1) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 v (+.f64 -1 (neg.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 v (+.f64 e 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 v (+.f64 e 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 v 3) (pow.f64 (+.f64 e 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 v) (log1p.f64 e)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 e (/.f64 (+.f64 e 1) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 v e) (+.f64 e 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 v e)) (+.f64 -1 (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v e) 1) (+.f64 e 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v e) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (cbrt.f64 (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v e) (sqrt.f64 (+.f64 e 1))) (sqrt.f64 (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 v) e) (+.f64 -1 (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 e (neg.f64 v)) (+.f64 -1 (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 e (/.f64 v (+.f64 e 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (/.f64 v (+.f64 e 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 e (/.f64 v (+.f64 e 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 e (/.f64 v (+.f64 e 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 e (/.f64 v (+.f64 e 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (/.f64 v (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 e (/.f64 v (+.f64 e 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 e 3) (pow.f64 (/.f64 v (+.f64 e 1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 v (+.f64 e 1)) 3) (pow.f64 e 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 e (/.f64 v (+.f64 e 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 e (/.f64 v (+.f64 e 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 v e)) (log1p.f64 e)))))))

simplify63.0ms (0.9%)

Algorithm
egg-herbie
Rules
503×sub-neg_binary64
481×distribute-rgt-neg-in_binary64
456×fma-neg_binary64
399×distribute-lft-neg-in_binary64
340×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054582
1156556
2430539
31541496
45607496
Stop Event
node limit
Counts
103 → 85
Calls
Call 1
Inputs
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
v
(+.f64 v (*.f64 -1 (*.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (*.f64 v e)) (*.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (*.f64 v e)) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 3))) (*.f64 v (pow.f64 e 2)))))
(/.f64 v e)
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (/.f64 v e))
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (/.f64 v (pow.f64 e 3))))
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 4))) (/.f64 v (pow.f64 e 3)))))
(/.f64 v e)
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (/.f64 v e))
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (/.f64 v (pow.f64 e 3))))
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 4))) (/.f64 v (pow.f64 e 3)))))
(*.f64 v e)
(+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2))))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3))))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (+.f64 (*.f64 v (pow.f64 e 3)) (*.f64 -1 (*.f64 v (pow.f64 e 4))))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
Outputs
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 1 e))
v
(+.f64 v (*.f64 -1 (*.f64 v e)))
(+.f64 v (neg.f64 (*.f64 v e)))
(-.f64 v (*.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (*.f64 v e)) (*.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (*.f64 v e) (*.f64 v (*.f64 e e))))
(+.f64 (-.f64 v (*.f64 v e)) (*.f64 v (*.f64 e e)))
(+.f64 v (*.f64 v (-.f64 (*.f64 e e) e)))
(+.f64 v (+.f64 (*.f64 -1 (*.f64 v e)) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 3))) (*.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (*.f64 v e) (fma.f64 -1 (*.f64 v (pow.f64 e 3)) (*.f64 v (*.f64 e e)))))
(+.f64 v (+.f64 (*.f64 v (*.f64 e e)) (*.f64 (neg.f64 v) (+.f64 e (pow.f64 e 3)))))
(-.f64 v (fma.f64 v e (*.f64 v (-.f64 (pow.f64 e 3) (*.f64 e e)))))
(*.f64 (+.f64 1 (*.f64 e e)) (-.f64 v (*.f64 v e)))
(/.f64 v e)
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (/.f64 v e))
(fma.f64 -1 (/.f64 v (*.f64 e e)) (/.f64 v e))
(-.f64 (/.f64 v e) (/.f64 (/.f64 v e) e))
(-.f64 (/.f64 v e) (/.f64 v (*.f64 e e)))
(/.f64 (-.f64 v (/.f64 v e)) e)
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (/.f64 v (pow.f64 e 3))))
(+.f64 (fma.f64 -1 (/.f64 v (*.f64 e e)) (/.f64 v e)) (/.f64 v (pow.f64 e 3)))
(+.f64 (-.f64 (/.f64 v e) (/.f64 (/.f64 v e) e)) (/.f64 v (pow.f64 e 3)))
(+.f64 (/.f64 v e) (-.f64 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e))))
(+.f64 (/.f64 (-.f64 v (/.f64 v e)) e) (/.f64 v (pow.f64 e 3)))
(+.f64 (/.f64 v e) (/.f64 (/.f64 (-.f64 (/.f64 v e) v) e) e))
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 4))) (/.f64 v (pow.f64 e 3)))))
(+.f64 (fma.f64 -1 (/.f64 v (*.f64 e e)) (/.f64 v e)) (fma.f64 -1 (/.f64 v (pow.f64 e 4)) (/.f64 v (pow.f64 e 3))))
(+.f64 (-.f64 (/.f64 v e) (/.f64 (/.f64 v e) e)) (-.f64 (/.f64 v (pow.f64 e 3)) (/.f64 v (pow.f64 e 4))))
(+.f64 (-.f64 (/.f64 v e) (/.f64 v (*.f64 e e))) (-.f64 (/.f64 v (pow.f64 e 3)) (/.f64 v (pow.f64 e 4))))
(+.f64 (/.f64 (-.f64 v (/.f64 v e)) e) (*.f64 (+.f64 1 (/.f64 -1 e)) (/.f64 v (pow.f64 e 3))))
(/.f64 v e)
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (/.f64 v e))
(fma.f64 -1 (/.f64 v (*.f64 e e)) (/.f64 v e))
(-.f64 (/.f64 v e) (/.f64 (/.f64 v e) e))
(-.f64 (/.f64 v e) (/.f64 v (*.f64 e e)))
(/.f64 (-.f64 v (/.f64 v e)) e)
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (/.f64 v (pow.f64 e 3))))
(+.f64 (fma.f64 -1 (/.f64 v (*.f64 e e)) (/.f64 v e)) (/.f64 v (pow.f64 e 3)))
(+.f64 (-.f64 (/.f64 v e) (/.f64 (/.f64 v e) e)) (/.f64 v (pow.f64 e 3)))
(+.f64 (/.f64 v e) (-.f64 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e))))
(+.f64 (/.f64 (-.f64 v (/.f64 v e)) e) (/.f64 v (pow.f64 e 3)))
(+.f64 (/.f64 v e) (/.f64 (/.f64 (-.f64 (/.f64 v e) v) e) e))
(+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 2))) (+.f64 (/.f64 v e) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 4))) (/.f64 v (pow.f64 e 3)))))
(+.f64 (fma.f64 -1 (/.f64 v (*.f64 e e)) (/.f64 v e)) (fma.f64 -1 (/.f64 v (pow.f64 e 4)) (/.f64 v (pow.f64 e 3))))
(+.f64 (-.f64 (/.f64 v e) (/.f64 (/.f64 v e) e)) (-.f64 (/.f64 v (pow.f64 e 3)) (/.f64 v (pow.f64 e 4))))
(+.f64 (-.f64 (/.f64 v e) (/.f64 v (*.f64 e e))) (-.f64 (/.f64 v (pow.f64 e 3)) (/.f64 v (pow.f64 e 4))))
(+.f64 (/.f64 (-.f64 v (/.f64 v e)) e) (*.f64 (+.f64 1 (/.f64 -1 e)) (/.f64 v (pow.f64 e 3))))
(*.f64 v e)
(+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2))))
(fma.f64 v e (neg.f64 (*.f64 v (*.f64 e e))))
(fma.f64 (neg.f64 v) (*.f64 e e) (*.f64 v e))
(*.f64 e (-.f64 v (*.f64 v e)))
(*.f64 v (*.f64 (-.f64 1 e) e))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3))))
(fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (*.f64 v (pow.f64 e 3))))
(fma.f64 v e (-.f64 (*.f64 v (pow.f64 e 3)) (*.f64 v (*.f64 e e))))
(fma.f64 v e (*.f64 v (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 v (-.f64 (pow.f64 e 3) (-.f64 (*.f64 e e) e)))
(*.f64 v (+.f64 (pow.f64 e 3) (*.f64 (-.f64 1 e) e)))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (+.f64 (*.f64 v (pow.f64 e 3)) (*.f64 -1 (*.f64 v (pow.f64 e 4))))))
(fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (fma.f64 v (pow.f64 e 3) (neg.f64 (*.f64 v (pow.f64 e 4))))))
(fma.f64 v e (-.f64 (-.f64 (*.f64 v (pow.f64 e 3)) (*.f64 v (*.f64 e e))) (*.f64 v (pow.f64 e 4))))
(+.f64 (*.f64 e (-.f64 v (*.f64 v e))) (*.f64 v (-.f64 (pow.f64 e 3) (pow.f64 e 4))))
(*.f64 (-.f64 e (*.f64 e e)) (fma.f64 e (*.f64 v e) v))
(*.f64 (*.f64 (-.f64 1 e) e) (fma.f64 e (*.f64 v e) v))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (neg.f64 (/.f64 v e)))
(-.f64 v (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))))
(+.f64 (/.f64 (/.f64 v e) e) (-.f64 v (/.f64 v e)))
(+.f64 v (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)))
(-.f64 v (/.f64 (-.f64 v (/.f64 v e)) e))
(+.f64 v (/.f64 (-.f64 (/.f64 v e) v) e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))))
(+.f64 (-.f64 v (/.f64 v e)) (-.f64 (/.f64 (/.f64 v e) e) (/.f64 v (pow.f64 e 3))))
(+.f64 v (-.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)) (/.f64 v (pow.f64 e 3))))
(+.f64 (-.f64 v (/.f64 v e)) (/.f64 (/.f64 (-.f64 v (/.f64 v e)) e) e))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (neg.f64 (/.f64 v e)))
(-.f64 v (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))))
(+.f64 (/.f64 (/.f64 v e) e) (-.f64 v (/.f64 v e)))
(+.f64 v (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)))
(-.f64 v (/.f64 (-.f64 v (/.f64 v e)) e))
(+.f64 v (/.f64 (-.f64 (/.f64 v e) v) e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))))
(+.f64 (-.f64 v (/.f64 v e)) (-.f64 (/.f64 (/.f64 v e) e) (/.f64 v (pow.f64 e 3))))
(+.f64 v (-.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)) (/.f64 v (pow.f64 e 3))))
(+.f64 (-.f64 v (/.f64 v e)) (/.f64 (/.f64 (-.f64 v (/.f64 v e)) e) e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 1 e) v))
(*.f64 v (/.f64 e (+.f64 1 e)))

localize30.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 v)
0.1b
(/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))
0.1b
(*.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))
0.2b
(/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
Compiler

Compiled 44 to 21 computations (52.3% saved)

series16.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
5.0ms
v
@inf
(*.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))
1.0ms
v
@0
(/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
1.0ms
v
@-inf
(/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
1.0ms
v
@inf
(/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
1.0ms
v
@0
(/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))

rewrite76.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
528×log-prod_binary64
412×exp-prod_binary64
305×pow-prod-down_binary64
263×pow2_binary64
203×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01042
120739
2268639
Stop Event
node limit
Counts
3 → 157
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))
(/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 2) (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) (sqrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -2) (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 v)) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 v)) 1) (/.f64 (sqrt.f64 (sin.f64 v)) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) -2) (/.f64 (sin.f64 v) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2)) (/.f64 (cbrt.f64 (sin.f64 v)) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 v)) (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2)) (/.f64 (sqrt.f64 (sin.f64 v)) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) -1/2) (/.f64 (sin.f64 v) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (cbrt.f64 (sin.f64 v)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (fma.f64 e (cos.f64 v) 1))) (neg.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) 1) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) (sqrt.f64 (sin.f64 v))) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 (fma.f64 e (cos.f64 v) 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2)) (cbrt.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) (sqrt.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 (fma.f64 e (cos.f64 v) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sin.f64 v)) 1) (log1p.f64 (*.f64 e (cos.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (sin.f64 v)) (*.f64 (log1p.f64 (*.f64 e (cos.f64 v))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sin.f64 v)) 1) (*.f64 (log1p.f64 (*.f64 e (cos.f64 v))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 e) 2) (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) (cbrt.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 e) (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) (sqrt.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 e) (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 e (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 e 1) (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (/.f64 1 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 e (cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 2))) (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 e) (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 e -1) (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 e 3) (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))) 2)) (cbrt.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))) (sqrt.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 e 3) (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 e) 1) (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 e) (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 e) 1) (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 e (cos.f64 v) 1) (/.f64 1 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 2)) (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) (/.f64 1 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) (*.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) (/.f64 1 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 e (cos.f64 v) 1)) (/.f64 1 (neg.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 v)) (fma.f64 e (cos.f64 v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) 1) (/.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) -2) (/.f64 (fma.f64 e (cos.f64 v) 1) (cbrt.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2) (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (/.f64 (sqrt.f64 (fma.f64 e (cos.f64 v) 1)) (cbrt.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 v) -1/2) (/.f64 (fma.f64 e (cos.f64 v) 1) (sqrt.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) 2) (sqrt.f64 (sin.f64 v))) (/.f64 (cbrt.f64 (fma.f64 e (cos.f64 v) 1)) (sqrt.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 3) (pow.f64 (sin.f64 v) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 2)) (cbrt.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))) (sqrt.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (neg.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 3) (pow.f64 (sin.f64 v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log1p.f64 (*.f64 e (cos.f64 v))) 1) (log.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (*.f64 e (cos.f64 v))) (*.f64 (log.f64 (sin.f64 v)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log1p.f64 (*.f64 e (cos.f64 v))) 1) (*.f64 (log.f64 (sin.f64 v)) 1)))))))

simplify100.0ms (1.4%)

Algorithm
egg-herbie
Rules
774×associate-*r*_binary64
384×associate-+l+_binary64
318×*-commutative_binary64
313×associate-+r+_binary64
269×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01882437
15812323
220282295
Stop Event
node limit
Counts
229 → 221
Calls
Call 1
Inputs
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))
(+.f64 (sin.f64 v) (+.f64 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2))) (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)))))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))) (+.f64 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2))) (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))))
(/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))))
(/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))))
(/.f64 v (+.f64 1 e))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))))) (/.f64 v (+.f64 1 e)))
(+.f64 (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 1 (+.f64 1 e))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/24 (/.f64 e (pow.f64 (+.f64 1 e) 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))))) (/.f64 v (+.f64 1 e))))
(+.f64 (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 1 (+.f64 1 e))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/24 (/.f64 e (pow.f64 (+.f64 1 e) 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 v 7) (+.f64 (*.f64 -1/720 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 1 (+.f64 1 e))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/24 (/.f64 e (pow.f64 (+.f64 1 e) 2))))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/5040 (/.f64 1 (+.f64 1 e)))))))) (/.f64 v (+.f64 1 e)))))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 1 (sin.f64 v))
(+.f64 (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)) (/.f64 1 (sin.f64 v)))
(+.f64 (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)) (/.f64 1 (sin.f64 v)))
(+.f64 (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)) (/.f64 1 (sin.f64 v)))
(/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(/.f64 (+.f64 1 e) v)
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (+.f64 (/.f64 1 v) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 1/24 e) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))) (*.f64 1/120 (+.f64 1 e))))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (+.f64 (/.f64 1 v) (+.f64 (*.f64 (pow.f64 v 5) (-.f64 (*.f64 -1/720 e) (+.f64 (*.f64 -1/5040 (+.f64 1 e)) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/24 e) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))) (*.f64 1/120 (+.f64 1 e))))) (*.f64 1/120 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))))))) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 1/24 e) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))) (*.f64 1/120 (+.f64 1 e)))))))))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
Outputs
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))
(+.f64 (sin.f64 v) (neg.f64 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))
(-.f64 (sin.f64 v) (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2))) (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)))))
(+.f64 (sin.f64 v) (fma.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)) (neg.f64 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)))))
(-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)) 1) (sin.f64 v)) (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)))
(*.f64 (sin.f64 v) (-.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)) 1) (*.f64 (cos.f64 v) e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))) (+.f64 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2))) (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))))
(+.f64 (sin.f64 v) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))) (fma.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)) (neg.f64 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))))
(+.f64 (sin.f64 v) (-.f64 (fma.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)) (*.f64 (sin.f64 v) (neg.f64 (*.f64 (cos.f64 v) e)))) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(-.f64 (*.f64 (sin.f64 v) (-.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)) 1) (*.f64 (cos.f64 v) e))) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))
(/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (neg.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)))))
(-.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)))))
(-.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))))
(-.f64 (-.f64 (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 3)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))
(/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (neg.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)))))
(-.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)))))
(-.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))))
(-.f64 (-.f64 (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 3)) (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 4)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (*.f64 e e))) (/.f64 (sin.f64 v) (*.f64 (cos.f64 v) e))))
(/.f64 v (+.f64 1 e))
(/.f64 v (+.f64 e 1))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))))) (/.f64 v (+.f64 1 e)))
(fma.f64 -1 (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1)))) (/.f64 v (+.f64 e 1)))
(-.f64 (/.f64 v (+.f64 e 1)) (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1)))))
(+.f64 (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 1 (+.f64 1 e))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/24 (/.f64 e (pow.f64 (+.f64 1 e) 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))))) (/.f64 v (+.f64 1 e))))
(fma.f64 (pow.f64 v 5) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 1/2 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (+.f64 e 1) e)) (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) 1/24))) (fma.f64 -1 (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1)))) (/.f64 v (+.f64 e 1))))
(fma.f64 (pow.f64 v 5) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 1/2 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))) (/.f64 e (/.f64 (pow.f64 (+.f64 e 1) 2) 1/24)))) (-.f64 (/.f64 v (+.f64 e 1)) (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))))
(fma.f64 (pow.f64 v 5) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) 1/24 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (/.f64 (+.f64 e 1) e) 1/2)))) (-.f64 (/.f64 v (+.f64 e 1)) (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))))
(+.f64 (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 1 (+.f64 1 e))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/24 (/.f64 e (pow.f64 (+.f64 1 e) 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 v 7) (+.f64 (*.f64 -1/720 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 1 (+.f64 1 e))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/24 (/.f64 e (pow.f64 (+.f64 1 e) 2))))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 e (pow.f64 (+.f64 1 e) 2))) (*.f64 1/6 (/.f64 1 (+.f64 1 e)))) e) (+.f64 1 e))) (*.f64 1/5040 (/.f64 1 (+.f64 1 e)))))))) (/.f64 v (+.f64 1 e)))))
(fma.f64 (pow.f64 v 5) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 1/2 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (+.f64 e 1) e)) (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) 1/24))) (fma.f64 -1 (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1)))) (fma.f64 -1 (*.f64 (pow.f64 v 7) (fma.f64 -1/720 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (fma.f64 -1/2 (/.f64 (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 1/2 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (+.f64 e 1) e)) (*.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) 1/24))) (/.f64 (+.f64 e 1) e)) (fma.f64 -1/24 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (+.f64 e 1) e)) (/.f64 1/5040 (+.f64 e 1)))))) (/.f64 v (+.f64 e 1)))))
(fma.f64 (pow.f64 v 5) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 1/2 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))) (/.f64 e (/.f64 (pow.f64 (+.f64 e 1) 2) 1/24)))) (-.f64 (-.f64 (/.f64 v (+.f64 e 1)) (*.f64 (pow.f64 v 7) (fma.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) -1/720 (fma.f64 -1/2 (/.f64 (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 1/2 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))) (/.f64 e (/.f64 (pow.f64 (+.f64 e 1) 2) 1/24)))) (/.f64 (+.f64 e 1) e)) (fma.f64 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))) -1/24 (/.f64 1/5040 (+.f64 e 1))))))) (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))))))
(-.f64 (fma.f64 (pow.f64 v 5) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) 1/24 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (/.f64 (+.f64 e 1) e) 1/2)))) (-.f64 (/.f64 v (+.f64 e 1)) (*.f64 (pow.f64 v 3) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1)))))) (*.f64 (pow.f64 v 7) (fma.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) -1/720 (fma.f64 -1/2 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 (/.f64 1/120 (+.f64 e 1)) (fma.f64 (/.f64 e (pow.f64 (+.f64 e 1) 2)) 1/24 (/.f64 (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1))) (/.f64 (/.f64 (+.f64 e 1) e) 1/2))))) (fma.f64 (*.f64 (/.f64 e (+.f64 e 1)) (fma.f64 -1/2 (/.f64 e (pow.f64 (+.f64 e 1) 2)) (/.f64 1/6 (+.f64 e 1)))) -1/24 (/.f64 1/5040 (+.f64 e 1)))))))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(/.f64 (sin.f64 v) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (+.f64 (*.f64 (cos.f64 v) e) 1))
(/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1))
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (*.f64 (sin.f64 v) e))
(-.f64 (*.f64 (sin.f64 v) e) (*.f64 (cos.f64 v) (*.f64 (*.f64 e e) (sin.f64 v))))
(*.f64 (sin.f64 v) (-.f64 e (*.f64 (cos.f64 v) (*.f64 e e))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(fma.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))) (*.f64 (sin.f64 v) (neg.f64 (*.f64 (cos.f64 v) (*.f64 e e)))))
(*.f64 (sin.f64 v) (-.f64 (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))) (*.f64 (cos.f64 v) (*.f64 e e))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(+.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (neg.f64 (sin.f64 v)) (+.f64 (*.f64 (cos.f64 v) (*.f64 e e)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(-.f64 (*.f64 (sin.f64 v) (-.f64 (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))) (*.f64 (cos.f64 v) (*.f64 e e)))) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 4))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2))) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 4))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 4))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2))) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 4))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(*.f64 (/.f64 v (+.f64 e 1)) e)
(*.f64 e (/.f64 v (+.f64 e 1)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(fma.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (*.f64 (/.f64 v (+.f64 e 1)) e))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))) (*.f64 e (/.f64 v (+.f64 e 1))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (*.f64 v e) (+.f64 e 1))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e)))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (fma.f64 (pow.f64 v 5) (-.f64 (/.f64 (*.f64 e 1/120) (+.f64 e 1)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (+.f64 e 1)) e) (/.f64 (*.f64 (*.f64 e e) 1/24) (pow.f64 (+.f64 e 1) 2)))) (*.f64 (/.f64 v (+.f64 e 1)) e)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 1/2 (/.f64 (+.f64 e 1) (*.f64 e (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))))))) (*.f64 e (/.f64 v (+.f64 e 1)))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (*.f64 v e) (+.f64 e 1))) (fma.f64 (pow.f64 v 7) (-.f64 (/.f64 (*.f64 -1/5040 e) (+.f64 e 1)) (fma.f64 1/24 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e))))) (/.f64 (+.f64 e 1) e)) (*.f64 -1/720 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (*.f64 (/.f64 v (+.f64 e 1)) e)) (fma.f64 (pow.f64 v 7) (-.f64 (/.f64 (*.f64 e -1/5040) (+.f64 e 1)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (+.f64 e 1)) e) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (/.f64 (*.f64 e 1/120) (+.f64 e 1)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (+.f64 e 1)) e) (/.f64 (*.f64 (*.f64 e e) 1/24) (pow.f64 (+.f64 e 1) 2)))) (+.f64 e 1)) e) (/.f64 (*.f64 (*.f64 e e) -1/720) (pow.f64 (+.f64 e 1) 2))))) (*.f64 (pow.f64 v 5) (-.f64 (/.f64 (*.f64 e 1/120) (+.f64 e 1)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (+.f64 e 1)) e) (/.f64 (*.f64 (*.f64 e e) 1/24) (pow.f64 (+.f64 e 1) 2)))))))
(+.f64 (fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))) (*.f64 e (/.f64 v (+.f64 e 1)))) (fma.f64 (pow.f64 v 7) (-.f64 (fma.f64 (/.f64 e (+.f64 e 1)) -1/5040 (*.f64 -1/24 (*.f64 e (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))) (+.f64 e 1))))) (fma.f64 -1/2 (*.f64 e (/.f64 (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 1/2 (/.f64 (+.f64 e 1) (*.f64 e (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))))))) (+.f64 e 1))) (*.f64 (/.f64 -1/720 (pow.f64 (+.f64 e 1) 2)) (*.f64 e e)))) (*.f64 (pow.f64 v 5) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 1/2 (/.f64 (+.f64 e 1) (*.f64 e (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 1/2 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e)))))))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (sin.f64 v) (/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) e))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 (cos.f64 v) e 1)))
(/.f64 1 (sin.f64 v))
(+.f64 (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)) (/.f64 1 (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(+.f64 (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)) (/.f64 1 (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(+.f64 (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)) (/.f64 1 (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v))
(/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e))
(*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e)
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v))
(/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e))
(*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e)
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (*.f64 (cos.f64 v) e) (sin.f64 v)))
(+.f64 (/.f64 1 (sin.f64 v)) (/.f64 (cos.f64 v) (/.f64 (sin.f64 v) e)))
(+.f64 (/.f64 1 (sin.f64 v)) (*.f64 (/.f64 (cos.f64 v) (sin.f64 v)) e))
(/.f64 (+.f64 1 e) v)
(/.f64 (+.f64 e 1) v)
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))
(fma.f64 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)) v (+.f64 (/.f64 e v) (/.f64 1 v)))
(fma.f64 v (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e))) (+.f64 (/.f64 e v) (/.f64 1 v)))
(fma.f64 v (+.f64 (fma.f64 e -1/2 1/6) (*.f64 e 1/6)) (+.f64 (/.f64 e v) (/.f64 1 v)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (+.f64 (/.f64 1 v) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 1/24 e) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))) (*.f64 1/120 (+.f64 1 e))))))))
(fma.f64 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)) v (+.f64 (/.f64 e v) (+.f64 (/.f64 1 v) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 e 1/24) (fma.f64 -1/6 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)) (+.f64 1/120 (*.f64 e 1/120))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (-.f64 (*.f64 e 1/24) (fma.f64 (+.f64 e 1) 1/120 (*.f64 -1/6 (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e)))))) (/.f64 1 v)) (fma.f64 v (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e))) (/.f64 e v)))
(+.f64 (fma.f64 (pow.f64 v 3) (-.f64 (*.f64 e 1/24) (fma.f64 (+.f64 e 1) 1/120 (+.f64 (*.f64 1/12 e) (*.f64 -1/36 (+.f64 e 1))))) (/.f64 1 v)) (fma.f64 v (+.f64 (fma.f64 e -1/2 1/6) (*.f64 e 1/6)) (/.f64 e v)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (+.f64 (/.f64 1 v) (+.f64 (*.f64 (pow.f64 v 5) (-.f64 (*.f64 -1/720 e) (+.f64 (*.f64 -1/5040 (+.f64 1 e)) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/24 e) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))) (*.f64 1/120 (+.f64 1 e))))) (*.f64 1/120 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))))))) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 1/24 e) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e)))) (*.f64 1/120 (+.f64 1 e)))))))))
(fma.f64 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)) v (+.f64 (/.f64 e v) (+.f64 (/.f64 1 v) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 e -1/720) (fma.f64 -1/5040 (+.f64 e 1) (fma.f64 -1/6 (-.f64 (*.f64 e 1/24) (fma.f64 -1/6 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)) (+.f64 1/120 (*.f64 e 1/120)))) (*.f64 1/120 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)))))) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 e 1/24) (fma.f64 -1/6 (-.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) -1/6)) (+.f64 1/120 (*.f64 e 1/120)))))))))
(+.f64 (fma.f64 v (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e))) (+.f64 (/.f64 e v) (/.f64 1 v))) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 e -1/720) (fma.f64 (+.f64 e 1) -1/5040 (fma.f64 1/120 (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e))) (*.f64 -1/6 (-.f64 (*.f64 e 1/24) (fma.f64 (+.f64 e 1) 1/120 (*.f64 -1/6 (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e)))))))))) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 e 1/24) (fma.f64 (+.f64 e 1) 1/120 (*.f64 -1/6 (fma.f64 e -1/2 (+.f64 1/6 (*.f64 1/6 e)))))))))
(+.f64 (/.f64 1 v) (+.f64 (fma.f64 (pow.f64 v 5) (-.f64 (-.f64 (fma.f64 e -1/720 1/5040) (*.f64 e -1/5040)) (fma.f64 -1/6 (-.f64 (*.f64 e 1/24) (fma.f64 (+.f64 e 1) 1/120 (+.f64 (*.f64 1/12 e) (*.f64 -1/36 (+.f64 e 1))))) (+.f64 (*.f64 -1/240 e) (*.f64 1/720 (+.f64 e 1))))) (*.f64 (pow.f64 v 3) (-.f64 (*.f64 e 1/24) (fma.f64 (+.f64 e 1) 1/120 (+.f64 (*.f64 1/12 e) (*.f64 -1/36 (+.f64 e 1))))))) (fma.f64 v (+.f64 (fma.f64 e -1/2 1/6) (*.f64 e 1/6)) (/.f64 e v))))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))
(/.f64 (+.f64 1 (*.f64 (cos.f64 v) e)) (sin.f64 v))
(/.f64 (+.f64 (*.f64 (cos.f64 v) e) 1) (sin.f64 v))
(/.f64 (fma.f64 (cos.f64 v) e 1) (sin.f64 v))

localize34.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (sin.f64 v))
0.1b
(*.f64 e (log.f64 (exp.f64 (sin.f64 v))))
0.2b
(*.f64 e (cos.f64 v))
2.5b
(log.f64 (exp.f64 (sin.f64 v)))
Compiler

Compiled 45 to 14 computations (68.9% saved)

series6.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
1.0ms
v
@0
(log.f64 (exp.f64 (sin.f64 v)))
1.0ms
v
@0
(exp.f64 (sin.f64 v))
0.0ms
v
@inf
(exp.f64 (sin.f64 v))
0.0ms
v
@0
(*.f64 e (log.f64 (exp.f64 (sin.f64 v))))
0.0ms
v
@inf
(log.f64 (exp.f64 (sin.f64 v)))

rewrite79.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
531×pow1_binary64
504×add-sqr-sqrt_binary64
484×log1p-expm1-u_binary64
484×expm1-log1p-u_binary64
483×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
111914
2133014
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(log.f64 (exp.f64 (sin.f64 v)))
(*.f64 e (log.f64 (exp.f64 (sin.f64 v))))
(exp.f64 (sin.f64 v))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 v))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 v)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 v)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 v)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 v) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (exp.f64 (sin.f64 v))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (sin.f64 v))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 v))) 2) (cbrt.f64 (exp.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (sin.f64 v))) (sqrt.f64 (exp.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (sin.f64 v))) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (sin.f64 v))))))))

simplify222.0ms (3.1%)

Algorithm
egg-herbie
Rules
838×fma-def_binary64
730×sqr-pow_binary64
510×*-commutative_binary64
492×cube-prod_binary64
395×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051310
1129300
2329286
31001278
42732278
53658278
63855278
74089278
84363278
94675278
105099278
115652278
126229278
136947278
147275278
157619278
167911278
Stop Event
node limit
Counts
89 → 70
Calls
Call 1
Inputs
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
1
(+.f64 v 1)
(+.f64 v (+.f64 1 (*.f64 1/2 (pow.f64 v 2))))
(+.f64 v (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 v 2)) (*.f64 -1/8 (pow.f64 v 4)))))
Outputs
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(fma.f64 -1/6 (pow.f64 v 3) v)
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (*.f64 1/120 (pow.f64 v 5)))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (fma.f64 1/120 (pow.f64 v 5) (*.f64 -1/5040 (pow.f64 v 7))))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (*.f64 v e))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(*.f64 (fma.f64 -1/6 (pow.f64 v 3) v) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (*.f64 v e)))
(+.f64 (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v)) (*.f64 (pow.f64 v 5) (*.f64 e 1/120)))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)))
(*.f64 (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (fma.f64 v e (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(+.f64 (*.f64 e (+.f64 v (*.f64 -1/5040 (pow.f64 v 7)))) (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5))))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
1
(+.f64 v 1)
(+.f64 v (+.f64 1 (*.f64 1/2 (pow.f64 v 2))))
(+.f64 v (+.f64 1 (*.f64 1/2 (*.f64 v v))))
(+.f64 v (fma.f64 1/2 (*.f64 v v) 1))
(+.f64 v (fma.f64 v (*.f64 v 1/2) 1))
(fma.f64 (fma.f64 v 1/2 1) v 1)
(+.f64 v (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 v 2)) (*.f64 -1/8 (pow.f64 v 4)))))
(+.f64 v (+.f64 1 (fma.f64 1/2 (*.f64 v v) (*.f64 -1/8 (pow.f64 v 4)))))
(+.f64 v (+.f64 (fma.f64 1/2 (*.f64 v v) 1) (*.f64 -1/8 (pow.f64 v 4))))
(+.f64 v (fma.f64 -1/8 (pow.f64 v 4) (fma.f64 v (*.f64 v 1/2) 1)))
(fma.f64 -1/8 (pow.f64 v 4) (fma.f64 (fma.f64 v 1/2 1) v 1))

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3)))
0.2b
(*.f64 e (cos.f64 v))
0.3b
(pow.f64 (sin.f64 v) 3)
18.2b
(cbrt.f64 (pow.f64 (sin.f64 v) 3))
Compiler

Compiled 50 to 25 computations (50% saved)

series6.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
2.0ms
v
@0
(cbrt.f64 (pow.f64 (sin.f64 v) 3))
1.0ms
v
@inf
(pow.f64 (sin.f64 v) 3)
1.0ms
v
@-inf
(pow.f64 (sin.f64 v) 3)
0.0ms
v
@0
(pow.f64 (sin.f64 v) 3)
0.0ms
v
@-inf
(cbrt.f64 (pow.f64 (sin.f64 v) 3))

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
632×pow1_binary64
590×add-log-exp_binary64
590×log1p-expm1-u_binary64
590×expm1-log1p-u_binary64
575×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
116615
2165315
Stop Event
node limit
Counts
3 → 50
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (sin.f64 v) 3))
(pow.f64 (sin.f64 v) 3)
(*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (pow.f64 (sin.f64 v) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 v) 2) 1/3) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 v) 3/2) 1/3) (pow.f64 (pow.f64 (sin.f64 v) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 v)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 v)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 v)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (sin.f64 v) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (pow.f64 (sin.f64 v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 v) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 v) 2) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (*.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (sin.f64 v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (*.f64 (sqrt.f64 (sin.f64 v)) (pow.f64 (sin.f64 v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 v) 3/2) (pow.f64 (sin.f64 v) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) 3) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 v)) 3) (pow.f64 (sqrt.f64 (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 v) 2) 1) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 v) 2) (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 v) 2) (sqrt.f64 (sin.f64 v))) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 v) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 v) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (sin.f64 v))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 v) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))))

simplify140.0ms (2%)

Algorithm
egg-herbie
Rules
1503×fma-def_binary64
748×sqr-pow_binary64
514×cube-prod_binary64
400×unswap-sqr_binary64
379×fabs-mul_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049330
1131322
2345310
3986306
42255306
52489306
62762306
73355306
83484306
93667306
104614306
115011306
125610306
136423306
147446306
Stop Event
node limit
Counts
90 → 72
Calls
Call 1
Inputs
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(pow.f64 v 3)
(+.f64 (*.f64 -1/2 (pow.f64 v 5)) (pow.f64 v 3))
(+.f64 (*.f64 -1/2 (pow.f64 v 5)) (+.f64 (*.f64 13/120 (pow.f64 v 7)) (pow.f64 v 3)))
(+.f64 (*.f64 -1/2 (pow.f64 v 5)) (+.f64 (*.f64 -41/3024 (pow.f64 v 9)) (+.f64 (*.f64 13/120 (pow.f64 v 7)) (pow.f64 v 3))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
Outputs
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(fma.f64 -1/6 (pow.f64 v 3) v)
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (*.f64 1/120 (pow.f64 v 5)))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (fma.f64 1/120 (pow.f64 v 5) (*.f64 -1/5040 (pow.f64 v 7))))
(fma.f64 -1/6 (pow.f64 v 3) (+.f64 v (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5)))))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(pow.f64 v 3)
(+.f64 (*.f64 -1/2 (pow.f64 v 5)) (pow.f64 v 3))
(fma.f64 -1/2 (pow.f64 v 5) (pow.f64 v 3))
(fma.f64 (pow.f64 v 5) -1/2 (pow.f64 v 3))
(+.f64 (*.f64 -1/2 (pow.f64 v 5)) (+.f64 (*.f64 13/120 (pow.f64 v 7)) (pow.f64 v 3)))
(fma.f64 -1/2 (pow.f64 v 5) (fma.f64 13/120 (pow.f64 v 7) (pow.f64 v 3)))
(fma.f64 (pow.f64 v 5) -1/2 (fma.f64 (pow.f64 v 7) 13/120 (pow.f64 v 3)))
(+.f64 (*.f64 -1/2 (pow.f64 v 5)) (+.f64 (*.f64 -41/3024 (pow.f64 v 9)) (+.f64 (*.f64 13/120 (pow.f64 v 7)) (pow.f64 v 3))))
(fma.f64 -1/2 (pow.f64 v 5) (fma.f64 -41/3024 (pow.f64 v 9) (fma.f64 13/120 (pow.f64 v 7) (pow.f64 v 3))))
(fma.f64 (pow.f64 v 5) -1/2 (fma.f64 -41/3024 (pow.f64 v 9) (fma.f64 (pow.f64 v 7) 13/120 (pow.f64 v 3))))
(fma.f64 (pow.f64 v 5) -1/2 (fma.f64 (pow.f64 v 7) 13/120 (fma.f64 -41/3024 (pow.f64 v 9) (pow.f64 v 3))))
(fma.f64 (pow.f64 v 7) 13/120 (fma.f64 -41/3024 (pow.f64 v 9) (fma.f64 (pow.f64 v 5) -1/2 (pow.f64 v 3))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (*.f64 v e))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(*.f64 (fma.f64 -1/6 (pow.f64 v 3) v) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (*.f64 v e)))
(+.f64 (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v)) (*.f64 1/120 (*.f64 (pow.f64 v 5) e)))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)))
(*.f64 (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (fma.f64 v e (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(+.f64 (*.f64 e (+.f64 v (*.f64 -1/5040 (pow.f64 v 7)))) (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (+.f64 v (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5))))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)

eval210.0ms (2.9%)

Compiler

Compiled 12188 to 6585 computations (46% saved)

prune116.0ms (1.6%)

Pruning

27 alts after pruning (25 fresh and 2 done)

PrunedKeptTotal
New63224656
Fresh9110
Picked011
Done415
Total64527672
Error
0b
Counts
672 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
0.3b
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
25.0b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2) (+.f64 1 (*.f64 e (cos.f64 v))))
0.9b
(*.f64 e (pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -3))
1.5b
(*.f64 e (/.f64 1 (/.f64 1 (sin.f64 v))))
27.0b
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 v) e))) (+.f64 1 (*.f64 e (cos.f64 v))))
1.1b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3) (+.f64 1 (*.f64 e (cos.f64 v))))
33.4b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)) (+.f64 1 (*.f64 e (cos.f64 v))))
34.2b
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
33.6b
(*.f64 v (*.f64 (-.f64 1 e) e))
12.4b
(/.f64 (*.f64 e (-.f64 (+.f64 (sin.f64 v) 1) 1)) (+.f64 1 (*.f64 e (cos.f64 v))))
33.4b
(/.f64 e (/.f64 (+.f64 e 1) v))
45.7b
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
33.9b
(*.f64 v e)
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
32.8b
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
1.4b
(*.f64 (sin.f64 v) e)
0.5b
(/.f64 (sqrt.f64 e) (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) (sqrt.f64 e)))
1.0b
(/.f64 (*.f64 e (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.3b
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
5.8b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
62.8b
(-.f64 v (/.f64 v e))
1.1b
(/.f64 1 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e))
1.0b
(/.f64 (*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v)))) (+.f64 1 e))
5.1b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
13.2b
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 e))
63.1b
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
Compiler

Compiled 675 to 485 computations (28.1% saved)

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v))))
0.1b
(expm1.f64 (sin.f64 v))
0.2b
(*.f64 e (cos.f64 v))
0.2b
(log1p.f64 (expm1.f64 (sin.f64 v)))
Compiler

Compiled 45 to 14 computations (68.9% saved)

series3.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
v
@0
(log1p.f64 (expm1.f64 (sin.f64 v)))
0.0ms
v
@0
(expm1.f64 (sin.f64 v))
0.0ms
v
@inf
(expm1.f64 (sin.f64 v))
0.0ms
v
@-inf
(expm1.f64 (sin.f64 v))
0.0ms
v
@-inf
(log1p.f64 (expm1.f64 (sin.f64 v)))

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
543×pow1_binary64
518×add-sqr-sqrt_binary64
498×expm1-log1p-u_binary64
497×add-log-exp_binary64
497×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
111914
2135614
Stop Event
node limit
Counts
3 → 45
Calls
Call 1
Inputs
(log1p.f64 (expm1.f64 (sin.f64 v)))
(expm1.f64 (sin.f64 v))
(*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 v)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 v)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 v)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 v)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (sin.f64 v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (sin.f64 v))) (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 v))) 2) (cbrt.f64 (expm1.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (sin.f64 v))) (sqrt.f64 (expm1.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 v)) 3) 1) (+.f64 (*.f64 (exp.f64 (sin.f64 v)) (exp.f64 (sin.f64 v))) (+.f64 1 (*.f64 (exp.f64 (sin.f64 v)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (sin.f64 v)) (exp.f64 (sin.f64 v))) 1) (+.f64 (exp.f64 (sin.f64 v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (sin.f64 v))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 v) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))))

simplify177.0ms (2.5%)

Algorithm
egg-herbie
Rules
880×fma-def_binary64
730×sqr-pow_binary64
530×*-commutative_binary64
436×cube-prod_binary64
419×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053364
1135354
2341338
31033334
42884334
53837334
64034334
74267334
84541334
94853334
105277334
115830334
126408334
137122334
147448334
157794334
Stop Event
node limit
Counts
93 → 67
Calls
Call 1
Inputs
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
v
(+.f64 v (*.f64 1/2 (pow.f64 v 2)))
(+.f64 v (+.f64 (*.f64 1/2 (pow.f64 v 2)) (*.f64 -1/8 (pow.f64 v 4))))
(+.f64 (*.f64 -1/15 (pow.f64 v 5)) (+.f64 v (+.f64 (*.f64 1/2 (pow.f64 v 2)) (*.f64 -1/8 (pow.f64 v 4)))))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(-.f64 (exp.f64 (sin.f64 v)) 1)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
Outputs
v
(+.f64 v (*.f64 -1/6 (pow.f64 v 3)))
(fma.f64 -1/6 (pow.f64 v 3) v)
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (*.f64 1/120 (pow.f64 v 5)))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v))
(+.f64 v (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5)))))
(+.f64 (fma.f64 -1/6 (pow.f64 v 3) v) (fma.f64 1/120 (pow.f64 v 5) (*.f64 -1/5040 (pow.f64 v 7))))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (fma.f64 1/120 (pow.f64 v 5) v)))
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
(sin.f64 v)
v
(+.f64 v (*.f64 1/2 (pow.f64 v 2)))
(+.f64 v (*.f64 1/2 (*.f64 v v)))
(fma.f64 1/2 (*.f64 v v) v)
(fma.f64 v (*.f64 v 1/2) v)
(+.f64 v (+.f64 (*.f64 1/2 (pow.f64 v 2)) (*.f64 -1/8 (pow.f64 v 4))))
(+.f64 v (fma.f64 1/2 (*.f64 v v) (*.f64 -1/8 (pow.f64 v 4))))
(+.f64 v (fma.f64 -1/8 (pow.f64 v 4) (*.f64 (*.f64 1/2 v) v)))
(fma.f64 v (*.f64 v 1/2) (fma.f64 -1/8 (pow.f64 v 4) v))
(+.f64 (*.f64 -1/15 (pow.f64 v 5)) (+.f64 v (+.f64 (*.f64 1/2 (pow.f64 v 2)) (*.f64 -1/8 (pow.f64 v 4)))))
(fma.f64 -1/15 (pow.f64 v 5) (+.f64 v (fma.f64 1/2 (*.f64 v v) (*.f64 -1/8 (pow.f64 v 4)))))
(+.f64 (fma.f64 -1/8 (pow.f64 v 4) (*.f64 (*.f64 1/2 v) v)) (fma.f64 (pow.f64 v 5) -1/15 v))
(fma.f64 (pow.f64 v 5) -1/15 (fma.f64 v (*.f64 v 1/2) (fma.f64 -1/8 (pow.f64 v 4) v)))
(fma.f64 v (*.f64 v 1/2) (fma.f64 (pow.f64 v 5) -1/15 (fma.f64 -1/8 (pow.f64 v 4) v)))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(-.f64 (exp.f64 (sin.f64 v)) 1)
(expm1.f64 (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (*.f64 v e))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(*.f64 (fma.f64 -1/6 (pow.f64 v 3) v) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (*.f64 v e)))
(+.f64 (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v)) (*.f64 1/120 (*.f64 (pow.f64 v 5) e)))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)))
(*.f64 (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) v)) e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) e) (fma.f64 v e (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(+.f64 (*.f64 e (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) v)) (*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 v (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (*.f64 1/120 (pow.f64 v 5))))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 1/120 (pow.f64 v 5) (fma.f64 -1/5040 (pow.f64 v 7) v))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) (fma.f64 -1/5040 (pow.f64 v 7) (fma.f64 1/120 (pow.f64 v 5) v))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)

localize3.0ms (0%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1))))
0.0b
(*.f64 e (/.f64 v (+.f64 e 1)))
0.0b
(/.f64 v (+.f64 e 1))
2.9b
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
Compiler

Compiled 40 to 26 computations (35% saved)

series5.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
v
@0
(+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1))))
0.0ms
e
@0
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
0.0ms
e
@inf
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
0.0ms
e
@inf
(+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1))))
0.0ms
e
@0
(+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1))))

rewrite77.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
695×prod-diff_binary64
540×fma-def_binary64
476×log-prod_binary64
254×pow2_binary64
251×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0929
121121
2320821
Stop Event
node limit
Counts
2 → 173
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 e v) (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 e (/.f64 v (+.f64 1 e)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (/.f64 v (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 v (*.f64 (/.f64 1 (+.f64 1 e)) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v (+.f64 1 e)) e)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) 2) (*.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 e) 2) (*.f64 (cbrt.f64 e) (/.f64 v (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2) (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 v (+.f64 1 e))) (*.f64 (sqrt.f64 (/.f64 v (+.f64 1 e))) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 e) (*.f64 (sqrt.f64 e) (/.f64 v (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (/.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e v) (/.f64 1 (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e 1) (/.f64 v (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 v (cbrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (hypot.f64 1 (sqrt.f64 e))) (/.f64 v (hypot.f64 1 (sqrt.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e v) (+.f64 1 (pow.f64 e 3))) (-.f64 (fma.f64 e e 1) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e v) (fma.f64 e e -1)) (+.f64 e -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (pow.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) 2)) (cbrt.f64 (/.f64 v (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (sqrt.f64 (/.f64 v (+.f64 1 e)))) (sqrt.f64 (/.f64 v (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 v (+.f64 1 e)) (pow.f64 (cbrt.f64 e) 2)) (cbrt.f64 e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 v (+.f64 1 e)) (sqrt.f64 e)) (sqrt.f64 e))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 e) (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 e (/.f64 (+.f64 1 e) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (-.f64 1 (*.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (fma.f64 e (/.f64 v (+.f64 1 e)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 e v) (+.f64 1 e))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))) (neg.f64 (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))) (neg.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 e v)) (+.f64 -1 (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 2)) (-.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 e v) 1) (+.f64 1 e))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 e v) (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (cbrt.f64 (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 e v) (hypot.f64 1 (sqrt.f64 e))) (hypot.f64 1 (sqrt.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 v) e) (+.f64 -1 (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 e (neg.f64 v)) (+.f64 -1 (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 e v) (+.f64 1 e)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (sqrt.f64 (*.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 e v)) (log1p.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 e v)) (log1p.f64 e)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 e (/.f64 v (+.f64 1 e)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 v (*.f64 (/.f64 1 (+.f64 1 e)) e) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 v (+.f64 1 e)) e 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2) (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) 2) (*.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) e) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 e) 2) (*.f64 (cbrt.f64 e) (/.f64 v (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2) (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) (*.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 v (+.f64 1 e))) (*.f64 (sqrt.f64 (/.f64 v (+.f64 1 e))) e) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 e) (*.f64 (sqrt.f64 e) (/.f64 v (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3)) (/.f64 1 (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (/.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2)) (/.f64 1 (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 e v) (/.f64 1 (+.f64 1 e)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1)) 2) (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1)) (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 e 1) (/.f64 v (+.f64 1 e)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 e (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 v (cbrt.f64 (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 e (hypot.f64 1 (sqrt.f64 e))) (/.f64 v (hypot.f64 1 (sqrt.f64 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 1) (-.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 e v) (+.f64 1 (pow.f64 e 3))) (-.f64 (fma.f64 e e 1) e) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 e v) (fma.f64 e e -1)) (+.f64 e -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 e (pow.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) 2)) (cbrt.f64 (/.f64 v (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 e (sqrt.f64 (/.f64 v (+.f64 1 e)))) (sqrt.f64 (/.f64 v (+.f64 1 e))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 v (+.f64 1 e)) (pow.f64 (cbrt.f64 e) 2)) (cbrt.f64 e) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 v (+.f64 1 e)) (sqrt.f64 e)) (sqrt.f64 e) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))) (/.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2) (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2) (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) (*.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3)) (/.f64 1 (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2)) (/.f64 1 (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e))) (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3)) (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3)) (+.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2) (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2)) (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3))) (neg.f64 (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2))) (neg.f64 (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2) 1) (fma.f64 e (/.f64 v (+.f64 1 e)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3)) 1) (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2)) 1) (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) (fma.f64 e (/.f64 v (+.f64 1 e)) -1) 1) (+.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e))) (-.f64 1 (pow.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 e v) (+.f64 1 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 e (/.f64 v (+.f64 1 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 v (*.f64 (/.f64 1 (+.f64 1 e)) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 v (+.f64 1 e)) e 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 e v) (+.f64 1 e)) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) 2) (*.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 e) 2) (*.f64 (cbrt.f64 e) (/.f64 v (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 2) (cbrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 v (+.f64 1 e))) (*.f64 (sqrt.f64 (/.f64 v (+.f64 1 e))) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 e) (*.f64 (sqrt.f64 e) (/.f64 v (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) (sqrt.f64 (/.f64 (*.f64 e v) (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1) 2) (fma.f64 e (/.f64 v (+.f64 1 e)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (*.f64 e v) (+.f64 1 e))))) (/.f64 1 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 e v) (/.f64 1 (+.f64 1 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) 2) (cbrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 e 1) (/.f64 v (+.f64 1 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 e (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 v (cbrt.f64 (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 e (hypot.f64 1 (sqrt.f64 e))) (/.f64 v (hypot.f64 1 (sqrt.f64 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 e (/.f64 v (+.f64 1 e)) 1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 e v) (+.f64 1 (pow.f64 e 3))) (-.f64 (fma.f64 e e 1) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 e v) (fma.f64 e e -1)) (+.f64 e -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 e (pow.f64 (cbrt.f64 (/.f64 v (+.f64 1 e))) 2)) (cbrt.f64 (/.f64 v (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 e (sqrt.f64 (/.f64 v (+.f64 1 e)))) (sqrt.f64 (/.f64 v (+.f64 1 e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 v (+.f64 1 e)) (pow.f64 (cbrt.f64 e) 2)) (cbrt.f64 e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 v (+.f64 1 e)) (sqrt.f64 e)) (sqrt.f64 e) 1)))))

simplify60.0ms (0.8%)

Algorithm
egg-herbie
Rules
509×sub-neg_binary64
463×times-frac_binary64
375×distribute-rgt-neg-in_binary64
361×fma-neg_binary64
334×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
047614
1128587
2350555
31297535
44553520
Stop Event
node limit
Counts
221 → 206
Calls
Call 1
Inputs
(*.f64 v e)
(+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2))))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3))))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (+.f64 (*.f64 v (pow.f64 e 3)) (*.f64 -1 (*.f64 v (pow.f64 e 4))))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
1
(+.f64 1 (*.f64 v e))
(+.f64 1 (+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2)))))
(+.f64 1 (+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3)))))
(+.f64 1 v)
(+.f64 v (+.f64 1 (*.f64 -1 (/.f64 v e))))
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2))))))
(+.f64 1 v)
(+.f64 v (+.f64 1 (*.f64 -1 (/.f64 v e))))
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2))))))
1
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
Outputs
(*.f64 v e)
(+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2))))
(fma.f64 v e (neg.f64 (*.f64 v (*.f64 e e))))
(-.f64 (*.f64 v e) (*.f64 v (*.f64 e e)))
(*.f64 v (-.f64 e (*.f64 e e)))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3))))
(fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (*.f64 v (pow.f64 e 3))))
(fma.f64 v e (fma.f64 v (pow.f64 e 3) (*.f64 v (neg.f64 (*.f64 e e)))))
(fma.f64 v e (*.f64 v (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 v (-.f64 (+.f64 e (pow.f64 e 3)) (*.f64 e e)))
(*.f64 v (-.f64 (pow.f64 e 3) (-.f64 (*.f64 e e) e)))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (+.f64 (*.f64 v (pow.f64 e 3)) (*.f64 -1 (*.f64 v (pow.f64 e 4))))))
(fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (fma.f64 v (pow.f64 e 3) (neg.f64 (*.f64 v (pow.f64 e 4))))))
(fma.f64 v e (-.f64 (fma.f64 v (pow.f64 e 3) (*.f64 v (neg.f64 (*.f64 e e)))) (*.f64 v (pow.f64 e 4))))
(+.f64 (*.f64 v (-.f64 e (*.f64 e e))) (*.f64 v (-.f64 (pow.f64 e 3) (pow.f64 e 4))))
(*.f64 (+.f64 (*.f64 e e) 1) (*.f64 v (-.f64 e (*.f64 e e))))
(*.f64 (+.f64 e (pow.f64 e 3)) (-.f64 v (*.f64 v e)))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (neg.f64 (/.f64 v e)))
(-.f64 v (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))))
(+.f64 (-.f64 v (/.f64 v e)) (/.f64 v (*.f64 e e)))
(+.f64 v (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))))
(+.f64 (-.f64 v (/.f64 v e)) (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v (pow.f64 e 3))))
(+.f64 v (-.f64 (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 v (*.f64 e e))) (/.f64 v e)))
(+.f64 v (-.f64 (/.f64 (-.f64 v (/.f64 v e)) (*.f64 e e)) (/.f64 v e)))
(*.f64 (+.f64 1 (/.f64 -1 e)) (+.f64 v (/.f64 v (*.f64 e e))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (neg.f64 (/.f64 v e)))
(-.f64 v (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))))
(+.f64 (-.f64 v (/.f64 v e)) (/.f64 v (*.f64 e e)))
(+.f64 v (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))))
(+.f64 (-.f64 v (/.f64 v e)) (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v (pow.f64 e 3))))
(+.f64 v (-.f64 (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 v (*.f64 e e))) (/.f64 v e)))
(+.f64 v (-.f64 (/.f64 (-.f64 v (/.f64 v e)) (*.f64 e e)) (/.f64 v e)))
(*.f64 (+.f64 1 (/.f64 -1 e)) (+.f64 v (/.f64 v (*.f64 e e))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
1
(+.f64 1 (*.f64 v e))
(+.f64 (*.f64 v e) 1)
(fma.f64 v e 1)
(+.f64 1 (+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2)))))
(+.f64 (fma.f64 v e (neg.f64 (*.f64 v (*.f64 e e)))) 1)
(-.f64 (fma.f64 v e 1) (*.f64 v (*.f64 e e)))
(+.f64 (*.f64 v (-.f64 e (*.f64 e e))) 1)
(-.f64 1 (*.f64 e (-.f64 (*.f64 v e) v)))
(+.f64 1 (+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3)))))
(+.f64 (fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (*.f64 v (pow.f64 e 3)))) 1)
(+.f64 (fma.f64 v (pow.f64 e 3) (*.f64 v (neg.f64 (*.f64 e e)))) (fma.f64 v e 1))
(+.f64 (*.f64 v (-.f64 (pow.f64 e 3) (*.f64 e e))) (fma.f64 v e 1))
(+.f64 (*.f64 v (-.f64 (+.f64 e (pow.f64 e 3)) (*.f64 e e))) 1)
(+.f64 (*.f64 v (-.f64 (pow.f64 e 3) (-.f64 (*.f64 e e) e))) 1)
(+.f64 1 v)
(+.f64 v 1)
(+.f64 v (+.f64 1 (*.f64 -1 (/.f64 v e))))
(+.f64 v (+.f64 (neg.f64 (/.f64 v e)) 1))
(+.f64 v (-.f64 1 (/.f64 v e)))
(-.f64 (+.f64 v 1) (/.f64 v e))
(+.f64 (-.f64 v (/.f64 v e)) 1)
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (+.f64 (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))) 1))
(+.f64 (+.f64 (-.f64 v (/.f64 v e)) (/.f64 v (*.f64 e e))) 1)
(+.f64 v (+.f64 (/.f64 v (*.f64 e e)) (-.f64 1 (/.f64 v e))))
(+.f64 v (+.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)) 1))
(+.f64 (-.f64 v (/.f64 v e)) (+.f64 (/.f64 v (*.f64 e e)) 1))
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2))))))
(+.f64 v (+.f64 (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))) 1))
(+.f64 v (+.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v (pow.f64 e 3))) (-.f64 1 (/.f64 v e))))
(+.f64 v (+.f64 (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 v (*.f64 e e))) (-.f64 1 (/.f64 v e))))
(+.f64 v (+.f64 (/.f64 (-.f64 v (/.f64 v e)) (*.f64 e e)) (-.f64 1 (/.f64 v e))))
(+.f64 (*.f64 (+.f64 1 (/.f64 -1 e)) (+.f64 v (/.f64 v (*.f64 e e)))) 1)
(+.f64 1 v)
(+.f64 v 1)
(+.f64 v (+.f64 1 (*.f64 -1 (/.f64 v e))))
(+.f64 v (+.f64 (neg.f64 (/.f64 v e)) 1))
(+.f64 v (-.f64 1 (/.f64 v e)))
(-.f64 (+.f64 v 1) (/.f64 v e))
(+.f64 (-.f64 v (/.f64 v e)) 1)
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (+.f64 (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))) 1))
(+.f64 (+.f64 (-.f64 v (/.f64 v e)) (/.f64 v (*.f64 e e))) 1)
(+.f64 v (+.f64 (/.f64 v (*.f64 e e)) (-.f64 1 (/.f64 v e))))
(+.f64 v (+.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)) 1))
(+.f64 (-.f64 v (/.f64 v e)) (+.f64 (/.f64 v (*.f64 e e)) 1))
(+.f64 v (+.f64 1 (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2))))))
(+.f64 v (+.f64 (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))) 1))
(+.f64 v (+.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v (pow.f64 e 3))) (-.f64 1 (/.f64 v e))))
(+.f64 v (+.f64 (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 v (*.f64 e e))) (-.f64 1 (/.f64 v e))))
(+.f64 v (+.f64 (/.f64 (-.f64 v (/.f64 v e)) (*.f64 e e)) (-.f64 1 (/.f64 v e))))
(+.f64 (*.f64 (+.f64 1 (/.f64 -1 e)) (+.f64 v (/.f64 v (*.f64 e e)))) 1)
1
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 1 (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (/.f64 v (+.f64 e 1)) e 1)

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 v)
0.1b
(/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))
0.2b
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
Compiler

Compiled 32 to 14 computations (56.3% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
v
@0
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
0.0ms
e
@0
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
0.0ms
e
@inf
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
0.0ms
e
@-inf
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
0.0ms
v
@-inf
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
497×log-prod_binary64
396×exp-prod_binary64
306×prod-exp_binary64
266×pow-prod-down_binary64
248×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
118415
2247915
Stop Event
node limit
Counts
1 → 64
Calls
Call 1
Inputs
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (/.f64 e (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 e) 2) (*.f64 (cbrt.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) (pow.f64 (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2) (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 e) (*.f64 (sqrt.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) (sqrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 e) (/.f64 1 (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 e) 2) 1) (/.f64 (cbrt.f64 e) (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 e) 1) (/.f64 (sqrt.f64 e) (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) (/.f64 e (/.f64 1 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 e) 2) (fma.f64 e (cos.f64 v) 1)) (/.f64 (cbrt.f64 e) (/.f64 1 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 e) (fma.f64 e (cos.f64 v) 1)) (/.f64 (sqrt.f64 e) (/.f64 1 (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -2) (/.f64 e (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 e) 2) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 2)) (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 e) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 2)) (/.f64 (sqrt.f64 e) (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) -1/2) (/.f64 e (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 e) 2) (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))) (/.f64 (cbrt.f64 e) (sqrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e 1) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (neg.f64 (fma.f64 e (cos.f64 v) 1))) (neg.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) 1) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sqrt.f64 (sin.f64 v))) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 e 3) (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) 2)) (cbrt.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))) (sqrt.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 e (neg.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 e 3) (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 e) 1) (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 e) (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 e) 1) (*.f64 (log.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 e) 1) (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 v)) 1) (log.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1))) (*.f64 (log.f64 e) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1))) (*.f64 (log.f64 (sin.f64 v)) 1)))))))

simplify58.0ms (0.8%)

Algorithm
egg-herbie
Rules
753×fma-neg_binary64
445×unswap-sqr_binary64
422×fma-def_binary64
351×associate-*l*_binary64
349×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
091989
1276942
2885922
34246860
Stop Event
node limit
Counts
88 → 87
Calls
Call 1
Inputs
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
Outputs
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (*.f64 (sin.f64 v) e))
(-.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 e (*.f64 e (cos.f64 v)))))
(*.f64 (sin.f64 v) (-.f64 e (*.f64 e (*.f64 e (cos.f64 v)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(-.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (sin.f64 v) (*.f64 e (*.f64 e (cos.f64 v)))))
(*.f64 (sin.f64 v) (-.f64 (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e) (*.f64 e (*.f64 e (cos.f64 v)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (*.f64 e e))) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(+.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (neg.f64 (sin.f64 v)) (+.f64 (*.f64 e (*.f64 e (cos.f64 v))) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(-.f64 (*.f64 (sin.f64 v) (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e)) (*.f64 (sin.f64 v) (fma.f64 e (*.f64 e (cos.f64 v)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(*.f64 (sin.f64 v) (-.f64 (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e) (*.f64 (cos.f64 v) (*.f64 e (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e)))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(*.f64 (+.f64 (/.f64 -1 (*.f64 e (cos.f64 v))) 1) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3)))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (*.f64 (+.f64 (/.f64 -1 (*.f64 e (cos.f64 v))) 1) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (-.f64 (*.f64 (+.f64 (/.f64 -1 (*.f64 e (cos.f64 v))) 1) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(*.f64 (+.f64 (/.f64 -1 (*.f64 e (cos.f64 v))) 1) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3)))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (*.f64 (+.f64 (/.f64 -1 (*.f64 e (cos.f64 v))) 1) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 e (*.f64 e (pow.f64 (cos.f64 v) 3)))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (-.f64 (*.f64 (+.f64 (/.f64 -1 (*.f64 e (cos.f64 v))) 1) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (/.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 4)) (pow.f64 e 3))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(*.f64 (/.f64 e (+.f64 e 1)) v)
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(fma.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (*.f64 (/.f64 e (+.f64 e 1)) v))
(fma.f64 (pow.f64 v 3) (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) (*.f64 (/.f64 e (+.f64 e 1)) v))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (*.f64 v e) (+.f64 e 1))) (*.f64 (pow.f64 v 5) (-.f64 (/.f64 (*.f64 1/120 e) (+.f64 e 1)) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e)))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) 1/120) (fma.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/24 (/.f64 (*.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) -1/2) (/.f64 (+.f64 e 1) e)))) (/.f64 (*.f64 v e) (+.f64 e 1))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 (/.f64 e (+.f64 e 1)) 1/120 (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/24)) (*.f64 (*.f64 (/.f64 e (+.f64 e 1)) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2))) 1/2)) (*.f64 (/.f64 e (+.f64 e 1)) v)))
(fma.f64 (pow.f64 v 3) (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 1/120 (/.f64 (*.f64 e 1/24) (+.f64 e 1)))) (/.f64 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) (/.f64 (/.f64 (+.f64 e 1) e) -1/2))) (*.f64 (/.f64 e (+.f64 e 1)) v)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (*.f64 v e) (+.f64 e 1))) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) -1/5040) (fma.f64 1/24 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e)) (fma.f64 -1/2 (/.f64 (-.f64 (/.f64 (*.f64 1/120 e) (+.f64 e 1)) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e))))) (/.f64 (+.f64 e 1) e)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/720)))) (*.f64 (pow.f64 v 5) (-.f64 (/.f64 (*.f64 1/120 e) (+.f64 e 1)) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (*.f64 1/2 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 (+.f64 e 1) e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (*.f64 v e) (+.f64 e 1))) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) 1/120) (fma.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/24 (/.f64 (*.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) -1/2) (/.f64 (+.f64 e 1) e)))) (*.f64 (pow.f64 v 7) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) -1/5040) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (+.f64 e 1)) e) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) 1/120) (fma.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/24 (/.f64 (*.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) -1/2) (/.f64 (+.f64 e 1) e)))) (+.f64 e 1)) e) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/720)))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 (/.f64 e (+.f64 e 1)) 1/120 (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/24)) (*.f64 (*.f64 (/.f64 e (+.f64 e 1)) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2))) 1/2)) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) -1/5040) (fma.f64 -1/2 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 (fma.f64 (/.f64 e (+.f64 e 1)) 1/120 (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/24)) (*.f64 (*.f64 (/.f64 e (+.f64 e 1)) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2))) 1/2))) (fma.f64 1/24 (*.f64 (/.f64 e (+.f64 e 1)) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2))) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/720)))) (*.f64 (/.f64 e (+.f64 e 1)) v))))
(fma.f64 (pow.f64 v 3) (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 1/120 (/.f64 (*.f64 e 1/24) (+.f64 e 1)))) (/.f64 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) (/.f64 (/.f64 (+.f64 e 1) e) -1/2))) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 -1/5040 (*.f64 (/.f64 e (+.f64 e 1)) -1/720))) (*.f64 e (+.f64 (/.f64 (*.f64 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) 1/24) (+.f64 e 1)) (/.f64 (*.f64 -1/2 (-.f64 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 1/120 (/.f64 (*.f64 e 1/24) (+.f64 e 1)))) (/.f64 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 -1/6 (*.f64 1/2 (/.f64 e (+.f64 e 1))))) (/.f64 (/.f64 (+.f64 e 1) e) -1/2)))) (+.f64 e 1))))) (*.f64 (/.f64 e (+.f64 e 1)) v))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 e (cos.f64 v))))
(*.f64 (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)) e)
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 v) e)
0.1b
(pow.f64 (*.f64 (sin.f64 v) e) 3)
0.2b
(*.f64 e (cos.f64 v))
33.4b
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))
Compiler

Compiled 51 to 21 computations (58.8% saved)

series10.0ms (0.1%)

Counts
3 → 52
Calls

18 calls:

TimeVariablePointExpression
2.0ms
e
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))
1.0ms
v
@0
(pow.f64 (*.f64 (sin.f64 v) e) 3)
1.0ms
v
@inf
(pow.f64 (*.f64 (sin.f64 v) e) 3)
1.0ms
v
@-inf
(pow.f64 (*.f64 (sin.f64 v) e) 3)
1.0ms
e
@-inf
(pow.f64 (*.f64 (sin.f64 v) e) 3)

rewrite60.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
645×pow1_binary64
603×add-log-exp_binary64
603×log1p-expm1-u_binary64
603×expm1-log1p-u_binary64
586×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
116821
2172821
Stop Event
node limit
Counts
3 → 65
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))
(pow.f64 (*.f64 (sin.f64 v) e) 3)
(*.f64 (sin.f64 v) e)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 v) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) e)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) (pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) (cbrt.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 v)) 2) (*.f64 (cbrt.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 e) 2) (*.f64 (cbrt.f64 e) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (sqrt.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 v)) (*.f64 (sqrt.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 e) (*.f64 (sqrt.f64 e) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) 1/3) (cbrt.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (pow.f64 (cbrt.f64 e) 2)) (cbrt.f64 e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) (cbrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (sqrt.f64 (sin.f64 v))) (sqrt.f64 (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 (sin.f64 v) e) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (*.f64 e (pow.f64 (*.f64 (sin.f64 v) e) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (*.f64 (sin.f64 v) (pow.f64 (*.f64 (sin.f64 v) e) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) e) (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) (pow.f64 (*.f64 (sin.f64 v) e) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (pow.f64 (*.f64 (sin.f64 v) e) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3/2) (pow.f64 (*.f64 (sin.f64 v) e) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) 3) (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) (sin.f64 v)) e)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) e) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) 1) (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2)) (cbrt.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) (sqrt.f64 (*.f64 (sin.f64 v) e))) (sqrt.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 v) e))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 v) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 v)) e))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))))

simplify159.0ms (2.2%)

Algorithm
egg-herbie
Rules
1159×distribute-rgt-in_binary64
674×distribute-rgt-out_binary64
650×fma-def_binary64
457×associate-*l*_binary64
419×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
074708
1232692
2852634
34295630
46606627
56732627
66869627
77023627
87211627
97401627
Stop Event
node limit
Counts
117 → 72
Calls
Call 1
Inputs
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(*.f64 (pow.f64 v 3) (pow.f64 e 3))
(+.f64 (*.f64 (pow.f64 v 3) (pow.f64 e 3)) (*.f64 (pow.f64 v 5) (+.f64 (*.f64 -1/3 (pow.f64 e 3)) (*.f64 -1/6 (pow.f64 e 3)))))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 e 2)) (*.f64 1/60 (pow.f64 e 2))) e) (+.f64 (*.f64 1/120 (pow.f64 e 3)) (*.f64 1/18 (pow.f64 e 3)))) (pow.f64 v 7)) (+.f64 (*.f64 (pow.f64 v 3) (pow.f64 e 3)) (*.f64 (pow.f64 v 5) (+.f64 (*.f64 -1/3 (pow.f64 e 3)) (*.f64 -1/6 (pow.f64 e 3))))))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 e 2)) (*.f64 1/60 (pow.f64 e 2))) e) (+.f64 (*.f64 1/120 (pow.f64 e 3)) (*.f64 1/18 (pow.f64 e 3)))) (pow.f64 v 7)) (+.f64 (*.f64 (pow.f64 v 9) (+.f64 (*.f64 e (+.f64 (*.f64 -1/2520 (pow.f64 e 2)) (*.f64 -1/360 (pow.f64 e 2)))) (+.f64 (*.f64 -1/5040 (pow.f64 e 3)) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 e 2)) (*.f64 1/60 (pow.f64 e 2))) e)) (*.f64 -1/360 (pow.f64 e 3)))))) (+.f64 (*.f64 (pow.f64 v 3) (pow.f64 e 3)) (*.f64 (pow.f64 v 5) (+.f64 (*.f64 -1/3 (pow.f64 e 3)) (*.f64 -1/6 (pow.f64 e 3)))))))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
Outputs
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 v e))
(*.f64 e (+.f64 v (*.f64 -1/6 (pow.f64 v 3))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 e (+.f64 v (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (fma.f64 1/120 (pow.f64 v 5) v)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (fma.f64 v e (*.f64 -1/5040 (*.f64 e (pow.f64 v 7))))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 e (+.f64 v (*.f64 -1/5040 (pow.f64 v 7))))))
(*.f64 e (+.f64 (fma.f64 -1/5040 (pow.f64 v 7) v) (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(neg.f64 (*.f64 (sin.f64 v) (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (neg.f64 (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) (neg.f64 e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(neg.f64 (*.f64 (sin.f64 v) (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (neg.f64 (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) (neg.f64 e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(neg.f64 (*.f64 (sin.f64 v) (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (neg.f64 (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) (neg.f64 e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) e)))
(neg.f64 (*.f64 (sin.f64 v) (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (neg.f64 (*.f64 e (cbrt.f64 -1))))
(*.f64 (sin.f64 v) (*.f64 (cbrt.f64 -1) (neg.f64 e)))
(*.f64 (pow.f64 v 3) (pow.f64 e 3))
(pow.f64 (*.f64 v e) 3)
(+.f64 (*.f64 (pow.f64 v 3) (pow.f64 e 3)) (*.f64 (pow.f64 v 5) (+.f64 (*.f64 -1/3 (pow.f64 e 3)) (*.f64 -1/6 (pow.f64 e 3)))))
(fma.f64 (pow.f64 v 3) (pow.f64 e 3) (*.f64 (pow.f64 v 5) (*.f64 (pow.f64 e 3) -1/2)))
(*.f64 (pow.f64 e 3) (+.f64 (pow.f64 v 3) (*.f64 (pow.f64 v 5) -1/2)))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 e 2)) (*.f64 1/60 (pow.f64 e 2))) e) (+.f64 (*.f64 1/120 (pow.f64 e 3)) (*.f64 1/18 (pow.f64 e 3)))) (pow.f64 v 7)) (+.f64 (*.f64 (pow.f64 v 3) (pow.f64 e 3)) (*.f64 (pow.f64 v 5) (+.f64 (*.f64 -1/3 (pow.f64 e 3)) (*.f64 -1/6 (pow.f64 e 3))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 e e) 2/45) e (*.f64 (pow.f64 e 3) 23/360)) (pow.f64 v 7) (fma.f64 (pow.f64 v 3) (pow.f64 e 3) (*.f64 (pow.f64 v 5) (*.f64 (pow.f64 e 3) -1/2))))
(fma.f64 (pow.f64 v 7) (fma.f64 (pow.f64 e 3) 23/360 (*.f64 (pow.f64 e 3) 2/45)) (fma.f64 (pow.f64 v 3) (pow.f64 e 3) (*.f64 (pow.f64 v 5) (*.f64 (pow.f64 e 3) -1/2))))
(fma.f64 (pow.f64 v 7) (*.f64 (pow.f64 e 3) 13/120) (*.f64 (pow.f64 e 3) (+.f64 (pow.f64 v 3) (*.f64 (pow.f64 v 5) -1/2))))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 e 2)) (*.f64 1/60 (pow.f64 e 2))) e) (+.f64 (*.f64 1/120 (pow.f64 e 3)) (*.f64 1/18 (pow.f64 e 3)))) (pow.f64 v 7)) (+.f64 (*.f64 (pow.f64 v 9) (+.f64 (*.f64 e (+.f64 (*.f64 -1/2520 (pow.f64 e 2)) (*.f64 -1/360 (pow.f64 e 2)))) (+.f64 (*.f64 -1/5040 (pow.f64 e 3)) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 e 2)) (*.f64 1/60 (pow.f64 e 2))) e)) (*.f64 -1/360 (pow.f64 e 3)))))) (+.f64 (*.f64 (pow.f64 v 3) (pow.f64 e 3)) (*.f64 (pow.f64 v 5) (+.f64 (*.f64 -1/3 (pow.f64 e 3)) (*.f64 -1/6 (pow.f64 e 3)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 e e) 2/45) e (*.f64 (pow.f64 e 3) 23/360)) (pow.f64 v 7) (fma.f64 (pow.f64 v 9) (fma.f64 e (*.f64 (*.f64 e e) -1/315) (fma.f64 -1/5040 (pow.f64 e 3) (fma.f64 -1/6 (*.f64 e (*.f64 (*.f64 e e) 2/45)) (*.f64 (pow.f64 e 3) -1/360)))) (fma.f64 (pow.f64 v 3) (pow.f64 e 3) (*.f64 (pow.f64 v 5) (*.f64 (pow.f64 e 3) -1/2)))))
(fma.f64 (pow.f64 v 7) (fma.f64 (pow.f64 e 3) 23/360 (*.f64 (pow.f64 e 3) 2/45)) (fma.f64 (pow.f64 v 9) (+.f64 (*.f64 (pow.f64 e 3) -1/315) (fma.f64 -1/5040 (pow.f64 e 3) (fma.f64 -1/6 (*.f64 (pow.f64 e 3) 2/45) (*.f64 (pow.f64 e 3) -1/360)))) (fma.f64 (pow.f64 v 3) (pow.f64 e 3) (*.f64 (pow.f64 v 5) (*.f64 (pow.f64 e 3) -1/2)))))
(fma.f64 (pow.f64 v 7) (*.f64 (pow.f64 e 3) 13/120) (fma.f64 (pow.f64 v 9) (+.f64 (fma.f64 -1/5040 (pow.f64 e 3) (*.f64 (pow.f64 e 3) -1/135)) (*.f64 (pow.f64 e 3) -1/168)) (*.f64 (pow.f64 e 3) (+.f64 (pow.f64 v 3) (*.f64 (pow.f64 v 5) -1/2)))))
(fma.f64 (pow.f64 v 9) (+.f64 (*.f64 e (*.f64 (*.f64 e e) -11/1080)) (*.f64 (pow.f64 e 3) -17/5040)) (fma.f64 (pow.f64 v 7) (*.f64 (pow.f64 e 3) 13/120) (*.f64 (pow.f64 e 3) (+.f64 (pow.f64 v 3) (*.f64 (pow.f64 v 5) -1/2)))))
(fma.f64 (pow.f64 v 7) (*.f64 (pow.f64 e 3) 13/120) (fma.f64 (pow.f64 v 9) (+.f64 (*.f64 (pow.f64 e 3) -1/336) (*.f64 e (*.f64 (*.f64 e e) -2/189))) (*.f64 (pow.f64 e 3) (+.f64 (pow.f64 v 3) (*.f64 (pow.f64 v 5) -1/2)))))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3))
(*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 v e))
(*.f64 e (+.f64 v (*.f64 -1/6 (pow.f64 v 3))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 e (+.f64 v (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (fma.f64 1/120 (pow.f64 v 5) v)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (fma.f64 v e (*.f64 -1/5040 (*.f64 e (pow.f64 v 7))))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 e (+.f64 v (*.f64 -1/5040 (pow.f64 v 7))))))
(*.f64 e (+.f64 (fma.f64 -1/5040 (pow.f64 v 7) v) (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 e (+.f64 (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))) (fma.f64 -1/5040 (pow.f64 v 7) v)))

eval226.0ms (3.2%)

Compiler

Compiled 12418 to 7166 computations (42.3% saved)

prune125.0ms (1.7%)

Pruning

28 alts after pruning (24 fresh and 4 done)

PrunedKeptTotal
New68211693
Fresh71320
Picked011
Done336
Total69228720
Error
0b
Counts
720 → 28
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3) (+.f64 1 (*.f64 e (cos.f64 v))))
27.0b
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 v) e))) (+.f64 1 (*.f64 e (cos.f64 v))))
33.4b
(/.f64 e (/.f64 (+.f64 e 1) v))
5.3b
(/.f64 e (cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3)))
62.8b
(-.f64 v (/.f64 v e))
33.4b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)) (+.f64 1 (*.f64 e (cos.f64 v))))
32.8b
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
34.2b
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
33.6b
(*.f64 v (*.f64 (-.f64 1 e) e))
12.4b
(/.f64 (*.f64 e (-.f64 (+.f64 (sin.f64 v) 1) 1)) (+.f64 1 (*.f64 e (cos.f64 v))))
61.3b
v
0.4b
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 (*.f64 e (cos.f64 v))))
33.9b
(*.f64 v e)
1.0b
(/.f64 (*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v)))) (+.f64 1 e))
25.0b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2) (+.f64 1 (*.f64 e (cos.f64 v))))
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
32.8b
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
1.4b
(*.f64 (sin.f64 v) e)
1.0b
(/.f64 (*.f64 e (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
45.4b
(-.f64 1 1)
1.5b
(/.f64 e (/.f64 1 (sin.f64 v)))
1.0b
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 e))
5.8b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
1.1b
(/.f64 1 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e))
0.9b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
5.1b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
13.2b
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 e))
63.1b
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
Compiler

Compiled 655 to 472 computations (27.9% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(*.f64 e (cos.f64 v))
0.2b
(*.f64 (sin.f64 v) (sqrt.f64 e))
0.2b
(*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e))
Compiler

Compiled 49 to 14 computations (71.4% saved)

series11.0ms (0.1%)

Counts
3 → 52
Calls

18 calls:

TimeVariablePointExpression
2.0ms
e
@-inf
(*.f64 (sin.f64 v) (sqrt.f64 e))
1.0ms
e
@0
(*.f64 (sin.f64 v) (sqrt.f64 e))
1.0ms
e
@-inf
(*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e))
1.0ms
e
@-inf
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0ms
v
@0
(*.f64 (sin.f64 v) (sqrt.f64 e))

rewrite73.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
674×log-prod_binary64
373×prod-diff_binary64
319×pow2_binary64
275×fma-def_binary64
255×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01231
124829
2335529
Stop Event
node limit
Counts
3 → 99
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e))
(*.f64 (sin.f64 v) (sqrt.f64 e))
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 (*.f64 e (cos.f64 v))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 v) e))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) e) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 e 3/2) (pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 3) (pow.f64 e 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 e) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 v) e))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 e 3/2) (pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 3) (pow.f64 e 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 v) e)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 v) (sqrt.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 e)) (sin.f64 v))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 e)) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 e)) (sin.f64 v)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 e)) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 e (pow.f64 (sin.f64 v) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) (sqrt.f64 e))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) (sqrt.f64 e))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 e 3/2) (pow.f64 (sin.f64 v) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 e (pow.f64 (sin.f64 v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 e)) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 v) 3) (pow.f64 e 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 e 3/2) (pow.f64 (sin.f64 v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 v) (sqrt.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 v) (sqrt.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 v) (sqrt.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 v) (sqrt.f64 e))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (*.f64 e (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 e) (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sqrt.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (*.f64 (sqrt.f64 e) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) e) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) 2) (cbrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) (sqrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (*.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (/.f64 1 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (/.f64 1 (neg.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 e (cos.f64 v) 1)) (*.f64 (sin.f64 v) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) 1) (/.f64 e (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 e) 1) (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (fma.f64 e (cos.f64 v) 1)) (sqrt.f64 e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) 1) (/.f64 (sqrt.f64 e) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 1) (/.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (fma.f64 e (cos.f64 v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (cbrt.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 2))) (/.f64 e (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 e) (cbrt.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 2))) (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (cbrt.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 2))) (/.f64 (sqrt.f64 e) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 2))) (/.f64 (*.f64 (sin.f64 v) e) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) (cbrt.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 2))) (cbrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (cbrt.f64 (pow.f64 (fma.f64 e (cos.f64 v) 1) 2))) (/.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) (cbrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 e (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 e) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (sqrt.f64 e) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (*.f64 (sin.f64 v) e) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 2) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))) (/.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) (sqrt.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 3))) (fma.f64 (*.f64 e (cos.f64 v)) (fma.f64 e (cos.f64 v) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 v) e) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 (sin.f64 v) e)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) (pow.f64 (fma.f64 e (cos.f64 v) 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 (sin.f64 v) e)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (sin.f64 v) e) (neg.f64 (fma.f64 e (cos.f64 v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3) (pow.f64 (fma.f64 e (cos.f64 v) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e))) 1))))))

simplify76.0ms (1.1%)

Algorithm
egg-herbie
Rules
794×fma-def_binary64
499×associate-*l*_binary64
478×associate-*r*_binary64
451×times-frac_binary64
316×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01321281
14211221
215101174
373521158
Stop Event
node limit
Counts
151 → 143
Calls
Call 1
Inputs
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 v (sqrt.f64 e))
(+.f64 (*.f64 v (sqrt.f64 e)) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e))))
(+.f64 (*.f64 v (sqrt.f64 e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) (sqrt.f64 e))) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e)))))
(+.f64 (*.f64 v (sqrt.f64 e)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 v 7) (sqrt.f64 e))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) (sqrt.f64 e))) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e))))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v))) (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 2) e)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v))) (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 2) e))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2)))) (+.f64 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v))) (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 2) e)))))
Outputs
(*.f64 v e)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (*.f64 v e))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 v e))
(*.f64 e (+.f64 v (*.f64 -1/6 (pow.f64 v 3))))
(*.f64 e (fma.f64 -1/6 (pow.f64 v 3) v))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 v e)))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (*.f64 e (+.f64 (*.f64 1/120 (pow.f64 v 5)) v)))
(*.f64 e (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (fma.f64 1/120 (pow.f64 v 5) v)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 v 3) e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) e)) (+.f64 (*.f64 v e) (*.f64 -1/5040 (*.f64 (pow.f64 v 7) e)))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (fma.f64 v e (*.f64 -1/5040 (*.f64 e (pow.f64 v 7))))))
(fma.f64 -1/6 (*.f64 e (pow.f64 v 3)) (fma.f64 1/120 (*.f64 e (pow.f64 v 5)) (*.f64 e (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) v))))
(*.f64 e (+.f64 (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 e (sin.f64 v))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 e (sin.f64 v))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 e (sin.f64 v))
(*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (sqrt.f64 -1) 2) e)))
(*.f64 e (sin.f64 v))
(*.f64 v (sqrt.f64 e))
(+.f64 (*.f64 v (sqrt.f64 e)) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e))))
(fma.f64 v (sqrt.f64 e) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e))))
(*.f64 (sqrt.f64 e) (+.f64 v (*.f64 -1/6 (pow.f64 v 3))))
(*.f64 (sqrt.f64 e) (fma.f64 -1/6 (pow.f64 v 3) v))
(+.f64 (*.f64 v (sqrt.f64 e)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) (sqrt.f64 e))) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e)))))
(fma.f64 v (sqrt.f64 e) (fma.f64 1/120 (*.f64 (pow.f64 v 5) (sqrt.f64 e)) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e)))))
(fma.f64 v (sqrt.f64 e) (*.f64 (sqrt.f64 e) (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (*.f64 1/120 (pow.f64 v 5)))))
(*.f64 (sqrt.f64 e) (+.f64 (*.f64 -1/6 (pow.f64 v 3)) (fma.f64 1/120 (pow.f64 v 5) v)))
(+.f64 (*.f64 v (sqrt.f64 e)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 v 7) (sqrt.f64 e))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 v 5) (sqrt.f64 e))) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e))))))
(fma.f64 v (sqrt.f64 e) (fma.f64 -1/5040 (*.f64 (pow.f64 v 7) (sqrt.f64 e)) (fma.f64 1/120 (*.f64 (pow.f64 v 5) (sqrt.f64 e)) (*.f64 -1/6 (*.f64 (pow.f64 v 3) (sqrt.f64 e))))))
(+.f64 (*.f64 (sqrt.f64 e) (+.f64 (*.f64 -1/5040 (pow.f64 v 7)) (*.f64 1/120 (pow.f64 v 5)))) (*.f64 (sqrt.f64 e) (+.f64 v (*.f64 -1/6 (pow.f64 v 3)))))
(*.f64 (sqrt.f64 e) (+.f64 (fma.f64 -1/6 (pow.f64 v 3) (*.f64 1/120 (pow.f64 v 5))) (fma.f64 -1/5040 (pow.f64 v 7) v)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 (/.f64 e (+.f64 e 1)) v)
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(fma.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (*.f64 (/.f64 e (+.f64 e 1)) v))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e)))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (fma.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))))) (/.f64 (*.f64 (*.f64 1/24 e) e) (pow.f64 (+.f64 e 1) 2)))) (/.f64 v (/.f64 (+.f64 e 1) e))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (-.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (/.f64 (/.f64 (+.f64 e 1) e) -1/2))) (*.f64 (/.f64 e (+.f64 e 1)) v)))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (*.f64 (-.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 -1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))) 1/2)) (*.f64 (/.f64 e (+.f64 e 1)) v)))
(+.f64 (*.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))) (+.f64 (/.f64 (*.f64 v e) (+.f64 1 e)) (+.f64 (*.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e))))) e) (+.f64 1 e))) (*.f64 -1/720 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 1 e))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 1 e))) (*.f64 -1/2 (/.f64 (pow.f64 e 2) (pow.f64 (+.f64 1 e) 2)))) e) (+.f64 1 e)))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e))) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e))))) (/.f64 (+.f64 e 1) e)) (/.f64 (*.f64 -1/720 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 e (+.f64 e 1))) (/.f64 (*.f64 -1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (+.f64 e 1) e))))))))
(+.f64 (fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 v (/.f64 (+.f64 e 1) e))) (fma.f64 (pow.f64 v 7) (-.f64 (*.f64 -1/5040 (/.f64 e (+.f64 e 1))) (fma.f64 1/24 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))))) (fma.f64 -1/2 (/.f64 e (/.f64 (+.f64 e 1) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))))) (/.f64 (*.f64 (*.f64 1/24 e) e) (pow.f64 (+.f64 e 1) 2)))))) (*.f64 (/.f64 e (/.f64 (pow.f64 (+.f64 e 1) 2) e)) -1/720)))) (*.f64 (pow.f64 v 5) (-.f64 (*.f64 1/120 (/.f64 e (+.f64 e 1))) (fma.f64 -1/2 (/.f64 e (/.f64 (+.f64 e 1) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 1/2 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))))) (/.f64 (*.f64 (*.f64 1/24 e) e) (pow.f64 (+.f64 e 1) 2)))))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (-.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (/.f64 (/.f64 (+.f64 e 1) e) -1/2))) (fma.f64 (pow.f64 v 7) (-.f64 (/.f64 e (/.f64 (+.f64 e 1) -1/5040)) (fma.f64 -1/2 (*.f64 (/.f64 e (+.f64 e 1)) (-.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (/.f64 (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (/.f64 (/.f64 (+.f64 e 1) e) -1/2)))) (fma.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/720 (*.f64 1/24 (*.f64 (/.f64 e (+.f64 e 1)) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2))))))) (*.f64 (/.f64 e (+.f64 e 1)) v))))
(fma.f64 (pow.f64 v 3) (fma.f64 -1/6 (/.f64 e (+.f64 e 1)) (*.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) 1/2)) (fma.f64 (pow.f64 v 5) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (*.f64 (-.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 -1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))) 1/2)) (fma.f64 (pow.f64 v 7) (-.f64 (/.f64 e (/.f64 (+.f64 e 1) -1/5040)) (fma.f64 -1/2 (*.f64 (/.f64 e (+.f64 e 1)) (+.f64 (fma.f64 1/120 (/.f64 e (+.f64 e 1)) (/.f64 (*.f64 -1/24 (*.f64 e e)) (pow.f64 (+.f64 e 1) 2))) (*.f64 (-.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 -1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))) 1/2))) (fma.f64 (/.f64 (*.f64 e e) (pow.f64 (+.f64 e 1) 2)) -1/720 (*.f64 1/24 (-.f64 (/.f64 -1/6 (/.f64 (pow.f64 (+.f64 e 1) 2) (*.f64 e e))) (/.f64 -1/2 (pow.f64 (/.f64 (+.f64 e 1) e) 3))))))) (*.f64 (/.f64 e (+.f64 e 1)) v))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 (*.f64 (cos.f64 v) e)))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (fma.f64 e (cos.f64 v) 1)))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (*.f64 e e) (cos.f64 v))) (*.f64 e (sin.f64 v)))
(-.f64 (*.f64 e (sin.f64 v)) (*.f64 (sin.f64 v) (*.f64 (*.f64 e e) (cos.f64 v))))
(*.f64 (sin.f64 v) (-.f64 e (*.f64 (*.f64 e e) (cos.f64 v))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (*.f64 e e) (cos.f64 v))) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))))
(-.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (sin.f64 v) (*.f64 (*.f64 e e) (cos.f64 v))))
(*.f64 (sin.f64 v) (-.f64 (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e) (*.f64 (*.f64 e e) (cos.f64 v))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 (*.f64 e e) (cos.f64 v))) (fma.f64 -1 (*.f64 (*.f64 (sin.f64 v) (pow.f64 (cos.f64 v) 3)) (pow.f64 e 4)) (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3))))))
(+.f64 (*.f64 (sin.f64 v) (+.f64 e (*.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3)))) (*.f64 (neg.f64 (sin.f64 v)) (+.f64 (*.f64 (*.f64 e e) (cos.f64 v)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(-.f64 (*.f64 (sin.f64 v) (fma.f64 (pow.f64 (cos.f64 v) 2) (pow.f64 e 3) e)) (*.f64 (sin.f64 v) (fma.f64 e (*.f64 e (cos.f64 v)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 4)))))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 (cos.f64 v) 2) e))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (+.f64 (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 4)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v)))
(/.f64 (sin.f64 v) (cos.f64 v))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v))) (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 2) e)))
(fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))))
(-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v))) (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 2) e))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v))) (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 3) (pow.f64 e 2)))) (+.f64 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 4) (pow.f64 e 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (cos.f64 v))) (/.f64 (*.f64 (sin.f64 v) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 (cos.f64 v) 2) e)))))
(+.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4))) (fma.f64 -1 (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2))) (/.f64 (sin.f64 v) (cos.f64 v)))))
(+.f64 (-.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (/.f64 (sin.f64 v) (*.f64 e (pow.f64 (cos.f64 v) 2)))) (-.f64 (/.f64 (sin.f64 v) (*.f64 (*.f64 e e) (pow.f64 (cos.f64 v) 3))) (/.f64 (sin.f64 v) (*.f64 (pow.f64 e 3) (pow.f64 (cos.f64 v) 4)))))
(+.f64 (/.f64 (sin.f64 v) (cos.f64 v)) (-.f64 (/.f64 (/.f64 (sin.f64 v) e) (*.f64 e (pow.f64 (cos.f64 v) 3))) (+.f64 (/.f64 (/.f64 (sin.f64 v) e) (pow.f64 (cos.f64 v) 2)) (/.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)) (pow.f64 (cos.f64 v) 4)))))

localize3.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (+.f64 e 1) (*.f64 v e))
1.0b
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
Compiler

Compiled 27 to 14 computations (48.1% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
4.0ms
e
@0
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
1.0ms
e
@-inf
(/.f64 (+.f64 e 1) (*.f64 v e))
1.0ms
e
@0
(/.f64 (+.f64 e 1) (*.f64 v e))
1.0ms
v
@0
(/.f64 (+.f64 e 1) (*.f64 v e))
0.0ms
v
@-inf
(/.f64 (+.f64 e 1) (*.f64 v e))

rewrite67.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
991×pow1_binary64
925×log1p-expm1-u_binary64
925×expm1-log1p-u_binary64
924×add-log-exp_binary64
91×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0823
117820
2255920
Stop Event
node limit
Counts
2 → 87
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(/.f64 (+.f64 e 1) (*.f64 v e))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 e (/.f64 (+.f64 1 e) v)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 e (/.f64 (+.f64 1 e) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e v) (/.f64 1 (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (/.f64 (+.f64 1 e) v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))) (pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))) 2) (cbrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))) (sqrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (+.f64 -1 (neg.f64 e)) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 e)) (*.f64 e v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 e)) (pow.f64 (/.f64 1 (*.f64 e v)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) -1) (pow.f64 (sqrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e 1) (/.f64 v (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v 1) (/.f64 e (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e v)) 2) 1) (/.f64 (cbrt.f64 (*.f64 e v)) (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e v)) 1) (/.f64 (sqrt.f64 (*.f64 e v)) (+.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 (*.f64 e v) (cbrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 v (cbrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 e (cbrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e v)) 2) (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 (cbrt.f64 (*.f64 e v)) (cbrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e v)) (pow.f64 (cbrt.f64 (+.f64 1 e)) 2)) (/.f64 (sqrt.f64 (*.f64 e v)) (cbrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 1 e))) (/.f64 (*.f64 e v) (sqrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (sqrt.f64 (+.f64 1 e))) (/.f64 v (sqrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 v (sqrt.f64 (+.f64 1 e))) (/.f64 e (sqrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e v)) 2) (sqrt.f64 (+.f64 1 e))) (/.f64 (cbrt.f64 (*.f64 e v)) (sqrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e v)) (sqrt.f64 (+.f64 1 e))) (/.f64 (sqrt.f64 (*.f64 e v)) (sqrt.f64 (+.f64 1 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 -1 (neg.f64 e))) (*.f64 v (neg.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (+.f64 1 e) v)) e)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e v) (+.f64 1 (pow.f64 e 3))) (fma.f64 e e (-.f64 1 e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e v) (fma.f64 e e -1)) (+.f64 e -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 1 e)) 1) (*.f64 e v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 1 e)) e) v)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 1 e)) v) e)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 1 e)) (pow.f64 (cbrt.f64 (*.f64 e v)) 2)) (cbrt.f64 (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 1 e)) (sqrt.f64 (*.f64 e v))) (sqrt.f64 (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 e (/.f64 (+.f64 1 e) v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 e (/.f64 (+.f64 1 e) v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 e (/.f64 (+.f64 1 e) v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 e (/.f64 (+.f64 1 e) v))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 e (/.f64 (+.f64 1 e) v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 e (/.f64 (+.f64 1 e) v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 e v) 3) (pow.f64 (+.f64 1 e) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 e (/.f64 (+.f64 1 e) v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 e (/.f64 (+.f64 1 e) v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 e v)) (log1p.f64 e)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 1 e) (*.f64 e v)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 1 e) (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 e) (/.f64 1 (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) 2) (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2) (*.f64 (cbrt.f64 (+.f64 1 e)) (/.f64 1 (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) (sqrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 e)) (*.f64 (sqrt.f64 (+.f64 1 e)) (/.f64 1 (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (neg.f64 e)) (/.f64 1 (*.f64 v (neg.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 e v)) (+.f64 1 e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2) 1) (/.f64 (cbrt.f64 (+.f64 1 e)) (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1 e)) 1) (/.f64 (sqrt.f64 (+.f64 1 e)) (*.f64 e v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1 e)) v) (/.f64 (sqrt.f64 (+.f64 1 e)) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 e) (/.f64 (+.f64 1 e) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2) e) (/.f64 (cbrt.f64 (+.f64 1 e)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1 e)) e) (/.f64 (sqrt.f64 (+.f64 1 e)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (/.f64 (+.f64 1 e) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2) v) (/.f64 (cbrt.f64 (+.f64 1 e)) e))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 e v)) 2)) (/.f64 (+.f64 1 e) (cbrt.f64 (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2) (pow.f64 (cbrt.f64 (*.f64 e v)) 2)) (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 1 e)) (pow.f64 (cbrt.f64 (*.f64 e v)) 2)) (/.f64 (sqrt.f64 (+.f64 1 e)) (cbrt.f64 (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 e v))) (/.f64 (+.f64 1 e) (sqrt.f64 (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 e)) 2) (sqrt.f64 (*.f64 e v))) (/.f64 (cbrt.f64 (+.f64 1 e)) (sqrt.f64 (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 e (/.f64 (+.f64 1 e) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 1 e) (*.f64 e v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 1 e) (*.f64 v (neg.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 1 e) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 1 e) (*.f64 e v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 1 e) (*.f64 e v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 1 e) 3) (pow.f64 (*.f64 e v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 1 e) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 1 e) (*.f64 e v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 e) (log.f64 (*.f64 e v))))))))

simplify55.0ms (0.8%)

Algorithm
egg-herbie
Rules
733×fma-def_binary64
463×times-frac_binary64
436×distribute-lft-out--_binary64
375×distribute-rgt-neg-in_binary64
334×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
041548
1107536
2270526
3970509
44252502
Stop Event
node limit
Counts
135 → 109
Calls
Call 1
Inputs
(*.f64 v e)
(+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2))))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3))))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (+.f64 (*.f64 v (pow.f64 e 3)) (*.f64 -1 (*.f64 v (pow.f64 e 4))))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 1 (*.f64 v e))
(+.f64 (/.f64 1 v) (/.f64 1 (*.f64 v e)))
(+.f64 (/.f64 1 v) (/.f64 1 (*.f64 v e)))
(+.f64 (/.f64 1 v) (/.f64 1 (*.f64 v e)))
(/.f64 1 v)
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(/.f64 1 v)
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
Outputs
(*.f64 v e)
(+.f64 (*.f64 v e) (*.f64 -1 (*.f64 v (pow.f64 e 2))))
(fma.f64 v e (neg.f64 (*.f64 v (*.f64 e e))))
(-.f64 (*.f64 v e) (*.f64 v (*.f64 e e)))
(*.f64 v (-.f64 e (*.f64 e e)))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (*.f64 v (pow.f64 e 3))))
(fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (*.f64 v (pow.f64 e 3))))
(fma.f64 v e (-.f64 (*.f64 v (pow.f64 e 3)) (*.f64 v (*.f64 e e))))
(fma.f64 v e (*.f64 v (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 (*.f64 v e) (-.f64 (fma.f64 e e 1) e))
(*.f64 v (*.f64 e (-.f64 (fma.f64 e e 1) e)))
(+.f64 (*.f64 v e) (+.f64 (*.f64 -1 (*.f64 v (pow.f64 e 2))) (+.f64 (*.f64 v (pow.f64 e 3)) (*.f64 -1 (*.f64 v (pow.f64 e 4))))))
(fma.f64 v e (fma.f64 -1 (*.f64 v (*.f64 e e)) (fma.f64 v (pow.f64 e 3) (neg.f64 (*.f64 v (pow.f64 e 4))))))
(fma.f64 v e (-.f64 (-.f64 (*.f64 v (pow.f64 e 3)) (*.f64 v (pow.f64 e 4))) (*.f64 v (*.f64 e e))))
(+.f64 (*.f64 v (-.f64 e (*.f64 e e))) (*.f64 v (-.f64 (pow.f64 e 3) (pow.f64 e 4))))
(*.f64 (-.f64 e (*.f64 e e)) (*.f64 (fma.f64 e e 1) v))
(*.f64 (+.f64 e (pow.f64 e 3)) (-.f64 v (*.f64 v e)))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (neg.f64 (/.f64 v e)))
(-.f64 v (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))))
(+.f64 v (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)))
(-.f64 (+.f64 v (/.f64 v (*.f64 e e))) (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))))
(+.f64 v (-.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v (pow.f64 e 3))) (/.f64 v e)))
(+.f64 v (-.f64 (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 v (*.f64 e e))) (/.f64 v e)))
(+.f64 v (-.f64 (/.f64 (-.f64 v (/.f64 v e)) (*.f64 e e)) (/.f64 v e)))
(*.f64 (+.f64 1 (/.f64 -1 e)) (+.f64 v (/.f64 v (*.f64 e e))))
v
(+.f64 v (*.f64 -1 (/.f64 v e)))
(+.f64 v (neg.f64 (/.f64 v e)))
(-.f64 v (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (/.f64 v (pow.f64 e 2))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (/.f64 v (*.f64 e e))))
(+.f64 v (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v e)))
(-.f64 (+.f64 v (/.f64 v (*.f64 e e))) (/.f64 v e))
(+.f64 v (+.f64 (*.f64 -1 (/.f64 v e)) (+.f64 (*.f64 -1 (/.f64 v (pow.f64 e 3))) (/.f64 v (pow.f64 e 2)))))
(+.f64 v (fma.f64 -1 (/.f64 v e) (fma.f64 -1 (/.f64 v (pow.f64 e 3)) (/.f64 v (*.f64 e e)))))
(+.f64 v (-.f64 (-.f64 (/.f64 v (*.f64 e e)) (/.f64 v (pow.f64 e 3))) (/.f64 v e)))
(+.f64 v (-.f64 (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 v (*.f64 e e))) (/.f64 v e)))
(+.f64 v (-.f64 (/.f64 (-.f64 v (/.f64 v e)) (*.f64 e e)) (/.f64 v e)))
(*.f64 (+.f64 1 (/.f64 -1 e)) (+.f64 v (/.f64 v (*.f64 e e))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) v))
(/.f64 v (/.f64 (+.f64 e 1) e))
(*.f64 v (/.f64 e (+.f64 e 1)))
(/.f64 1 (*.f64 v e))
(+.f64 (/.f64 1 v) (/.f64 1 (*.f64 v e)))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 v) (/.f64 1 (*.f64 v e)))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 v) (/.f64 1 (*.f64 v e)))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(/.f64 1 v)
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(/.f64 1 v)
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))
(/.f64 (+.f64 1 e) (*.f64 v e))
(/.f64 (+.f64 e 1) (*.f64 v e))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 v)
0.0b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
0.1b
(*.f64 e (sin.f64 v))
Compiler

Compiled 22 to 10 computations (54.5% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
e
@0
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
1.0ms
v
@-inf
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
1.0ms
v
@inf
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
1.0ms
v
@0
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
0.0ms
e
@inf
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
958×pow1_binary64
891×add-log-exp_binary64
891×log1p-expm1-u_binary64
891×expm1-log1p-u_binary64
86×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
116812
2234412
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (/.f64 1 (/.f64 (+.f64 e 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (*.f64 (sin.f64 v) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (*.f64 e (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))) 2) (cbrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (*.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))) (sqrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (*.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (/.f64 1 (+.f64 (neg.f64 e) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 e 1)) (*.f64 e (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e 1) (/.f64 (sin.f64 v) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) 1) (/.f64 e (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) 1) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) 1) (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 (sin.f64 v) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 e (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 (*.f64 e (sin.f64 v)) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (cbrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (sqrt.f64 (+.f64 e 1))) (/.f64 (sin.f64 v) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (sqrt.f64 (+.f64 e 1))) (/.f64 e (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 e 1))) (/.f64 (*.f64 e (sin.f64 v)) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (sqrt.f64 (+.f64 e 1))) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (pow.f64 e 3))) (+.f64 1 (-.f64 (*.f64 e e) e)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (*.f64 e e))) (-.f64 1 e))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 e 1) (*.f64 e (sin.f64 v))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 e (sin.f64 v)) (+.f64 (neg.f64 e) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3) (pow.f64 (+.f64 e 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e)))))))

simplify61.0ms (0.9%)

Algorithm
egg-herbie
Rules
839×fma-def_binary64
623×associate-*l*_binary64
543×associate-*r*_binary64
463×times-frac_binary64
279×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
059472
1162453
2443432
31550417
46991415
Stop Event
node limit
Counts
68 → 68
Calls
Call 1
Inputs
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e)))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 4))) (*.f64 (sin.f64 v) e))))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (pow.f64 v 7) e) (+.f64 1 e))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
Outputs
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 e e)) (*.f64 (sin.f64 v) e))
(-.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 e e)))
(*.f64 (sin.f64 v) (-.f64 e (*.f64 e e)))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e)))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 e e)) (*.f64 (sin.f64 v) e)))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (-.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 e e))))
(fma.f64 (sin.f64 v) e (*.f64 (sin.f64 v) (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 (*.f64 (sin.f64 v) e) (-.f64 (fma.f64 e e 1) e))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 4))) (*.f64 (sin.f64 v) e))))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 e e)) (fma.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 4)) (*.f64 (sin.f64 v) e))))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (neg.f64 (sin.f64 v)) (+.f64 (*.f64 e e) (pow.f64 e 4)))))
(fma.f64 (neg.f64 (sin.f64 v)) (fma.f64 e e (pow.f64 e 4)) (*.f64 (sin.f64 v) (+.f64 e (pow.f64 e 3))))
(*.f64 (sin.f64 v) (+.f64 (-.f64 e (pow.f64 e 4)) (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 (sin.f64 v) (-.f64 (+.f64 e (pow.f64 e 3)) (fma.f64 e e (pow.f64 e 4))))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (neg.f64 (/.f64 (sin.f64 v) e)))
(-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))))
(+.f64 (sin.f64 v) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) e)))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 e e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(+.f64 (sin.f64 v) (+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))) (neg.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) (pow.f64 e 3))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 (sin.f64 v) (*.f64 e e))))
(fma.f64 (+.f64 1 (/.f64 -1 e)) (/.f64 (sin.f64 v) (*.f64 e e)) (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (neg.f64 (/.f64 (sin.f64 v) e)))
(-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))))
(+.f64 (sin.f64 v) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) e)))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 e e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(+.f64 (sin.f64 v) (+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))) (neg.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) (pow.f64 e 3))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 (sin.f64 v) (*.f64 e e))))
(fma.f64 (+.f64 1 (/.f64 -1 e)) (/.f64 (sin.f64 v) (*.f64 e e)) (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 e 1) e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(*.f64 (/.f64 e (+.f64 e 1)) v)
(*.f64 v (/.f64 e (+.f64 e 1)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(fma.f64 -1/6 (/.f64 (*.f64 e (pow.f64 v 3)) (+.f64 e 1)) (/.f64 v (/.f64 (+.f64 e 1) e)))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 v 3) (+.f64 e 1)) e) (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 -1/6 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 3))) (*.f64 (/.f64 e (+.f64 e 1)) v))
(*.f64 e (+.f64 (/.f64 v (+.f64 e 1)) (*.f64 -1/6 (/.f64 (pow.f64 v 3) (+.f64 e 1)))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e))))
(fma.f64 -1/6 (/.f64 (*.f64 e (pow.f64 v 3)) (+.f64 e 1)) (fma.f64 1/120 (/.f64 (*.f64 e (pow.f64 v 5)) (+.f64 e 1)) (/.f64 v (/.f64 (+.f64 e 1) e))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 v 3) (+.f64 e 1)) e) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 v 5) (+.f64 e 1)) e) (/.f64 (*.f64 v e) (+.f64 e 1))))
(fma.f64 -1/6 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 3))) (fma.f64 1/120 (*.f64 e (/.f64 (pow.f64 v 5) (+.f64 e 1))) (*.f64 (/.f64 e (+.f64 e 1)) v)))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) (/.f64 e (+.f64 e 1))) (*.f64 e (+.f64 (/.f64 v (+.f64 e 1)) (*.f64 1/120 (/.f64 (pow.f64 v 5) (+.f64 e 1))))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (pow.f64 v 7) e) (+.f64 1 e))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))))
(fma.f64 -1/5040 (/.f64 (*.f64 e (pow.f64 v 7)) (+.f64 e 1)) (fma.f64 -1/6 (/.f64 (*.f64 e (pow.f64 v 3)) (+.f64 e 1)) (fma.f64 1/120 (/.f64 (*.f64 e (pow.f64 v 5)) (+.f64 e 1)) (/.f64 v (/.f64 (+.f64 e 1) e)))))
(fma.f64 -1/5040 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 7))) (fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 v 3) (+.f64 e 1)) e) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 v 5) (+.f64 e 1)) e) (/.f64 (*.f64 v e) (+.f64 e 1)))))
(fma.f64 -1/6 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 3))) (fma.f64 -1/5040 (*.f64 e (/.f64 (pow.f64 v 7) (+.f64 e 1))) (fma.f64 1/120 (*.f64 e (/.f64 (pow.f64 v 5) (+.f64 e 1))) (*.f64 (/.f64 e (+.f64 e 1)) v))))
(fma.f64 e (/.f64 v (+.f64 e 1)) (fma.f64 -1/6 (*.f64 (pow.f64 v 3) (/.f64 e (+.f64 e 1))) (*.f64 e (+.f64 (*.f64 1/120 (/.f64 (pow.f64 v 5) (+.f64 e 1))) (*.f64 -1/5040 (/.f64 (pow.f64 v 7) (+.f64 e 1)))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
0.1b
(*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3)))
0.3b
(pow.f64 (sin.f64 v) 3)
18.2b
(cbrt.f64 (pow.f64 (sin.f64 v) 3))
Compiler

Compiled 38 to 23 computations (39.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
e
@0
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
0.0ms
v
@0
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
0.0ms
e
@inf
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
0.0ms
e
@-inf
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
0.0ms
v
@-inf
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))

rewrite78.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
509×log-prod_binary64
386×exp-prod_binary64
318×pow-prod-down_binary64
263×pow2_binary64
182×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01112
123712
2282812
Stop Event
node limit
Counts
1 → 59
Calls
Call 1
Inputs
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (/.f64 1 (/.f64 (+.f64 e 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 e (*.f64 (sin.f64 v) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 v) (*.f64 e (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) (pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 2) (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (*.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) (sqrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (*.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (/.f64 1 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 v) (neg.f64 e)) (/.f64 1 (+.f64 (neg.f64 e) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 e 1)) (*.f64 e (sin.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e 1) (/.f64 (sin.f64 v) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) 1) (/.f64 e (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) 1) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) 1) (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (+.f64 e 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 (sin.f64 v) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 e (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 e 1)) -2) (/.f64 (*.f64 e (sin.f64 v)) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (pow.f64 (cbrt.f64 (+.f64 e 1)) 2)) (/.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) (cbrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 e (sqrt.f64 (+.f64 e 1))) (/.f64 (sin.f64 v) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 v) (sqrt.f64 (+.f64 e 1))) (/.f64 e (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 e 1) -1/2) (/.f64 (*.f64 e (sin.f64 v)) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (sqrt.f64 (+.f64 e 1))) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (sqrt.f64 (+.f64 e 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (pow.f64 e 3))) (fma.f64 e (-.f64 e 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (*.f64 e e))) (-.f64 1 e))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 e 1) (*.f64 e (sin.f64 v))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3) (pow.f64 (+.f64 e 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (+.f64 e 1) (*.f64 e (sin.f64 v))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e))) 2)) (cbrt.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e)))) (sqrt.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 e (sin.f64 v)) (+.f64 (neg.f64 e) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3) (pow.f64 (+.f64 e 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log1p.f64 e) (log.f64 (*.f64 e (sin.f64 v)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (-.f64 (log.f64 (*.f64 e (sin.f64 v))) (log1p.f64 e)) 1) 1))))))

simplify72.0ms (1%)

Algorithm
egg-herbie
Rules
839×fma-def_binary64
623×associate-*l*_binary64
543×associate-*r*_binary64
463×times-frac_binary64
279×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
059472
1162453
2443432
31550417
46991415
Stop Event
node limit
Counts
83 → 83
Calls
Call 1
Inputs
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e)))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 4))) (*.f64 (sin.f64 v) e))))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (pow.f64 v 7) e) (+.f64 1 e))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
Outputs
(*.f64 (sin.f64 v) e)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e))
(fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 e e)) (*.f64 (sin.f64 v) e))
(-.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 e e)))
(*.f64 (sin.f64 v) (-.f64 e (*.f64 e e)))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (*.f64 (sin.f64 v) e)))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 e e)) (*.f64 (sin.f64 v) e)))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (-.f64 (*.f64 (sin.f64 v) e) (*.f64 (sin.f64 v) (*.f64 e e))))
(fma.f64 (sin.f64 v) e (*.f64 (sin.f64 v) (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 (*.f64 (sin.f64 v) e) (-.f64 (fma.f64 e e 1) e))
(+.f64 (*.f64 (sin.f64 v) (pow.f64 e 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 4))) (*.f64 (sin.f64 v) e))))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (fma.f64 -1 (*.f64 (sin.f64 v) (*.f64 e e)) (fma.f64 -1 (*.f64 (sin.f64 v) (pow.f64 e 4)) (*.f64 (sin.f64 v) e))))
(fma.f64 (sin.f64 v) (pow.f64 e 3) (+.f64 (*.f64 (sin.f64 v) e) (*.f64 (neg.f64 (sin.f64 v)) (+.f64 (*.f64 e e) (pow.f64 e 4)))))
(fma.f64 (neg.f64 (sin.f64 v)) (fma.f64 e e (pow.f64 e 4)) (*.f64 (sin.f64 v) (+.f64 e (pow.f64 e 3))))
(*.f64 (sin.f64 v) (+.f64 (-.f64 e (pow.f64 e 4)) (-.f64 (pow.f64 e 3) (*.f64 e e))))
(*.f64 (sin.f64 v) (-.f64 (+.f64 e (pow.f64 e 3)) (fma.f64 e e (pow.f64 e 4))))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (neg.f64 (/.f64 (sin.f64 v) e)))
(-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))))
(+.f64 (sin.f64 v) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) e)))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 e e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(+.f64 (sin.f64 v) (+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))) (neg.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) (pow.f64 e 3))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 (sin.f64 v) (*.f64 e e))))
(fma.f64 (+.f64 1 (/.f64 -1 e)) (/.f64 (sin.f64 v) (*.f64 e e)) (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)))
(sin.f64 v)
(+.f64 (sin.f64 v) (*.f64 -1 (/.f64 (sin.f64 v) e)))
(+.f64 (sin.f64 v) (neg.f64 (/.f64 (sin.f64 v) e)))
(-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (pow.f64 e 2))))
(+.f64 (sin.f64 v) (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))))
(+.f64 (sin.f64 v) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) e)))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (/.f64 (sin.f64 v) (*.f64 e e)))
(+.f64 (sin.f64 v) (+.f64 (*.f64 -1 (/.f64 (sin.f64 v) e)) (+.f64 (/.f64 (sin.f64 v) (pow.f64 e 2)) (*.f64 -1 (/.f64 (sin.f64 v) (pow.f64 e 3))))))
(+.f64 (sin.f64 v) (+.f64 (fma.f64 -1 (/.f64 (sin.f64 v) e) (/.f64 (sin.f64 v) (*.f64 e e))) (neg.f64 (/.f64 (sin.f64 v) (pow.f64 e 3)))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (-.f64 (/.f64 (sin.f64 v) (*.f64 e e)) (/.f64 (sin.f64 v) (pow.f64 e 3))))
(+.f64 (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)) (*.f64 (+.f64 (/.f64 -1 e) 1) (/.f64 (sin.f64 v) (*.f64 e e))))
(fma.f64 (+.f64 1 (/.f64 -1 e)) (/.f64 (sin.f64 v) (*.f64 e e)) (-.f64 (sin.f64 v) (/.f64 (sin.f64 v) e)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 v (/.f64 (+.f64 e 1) e))
(/.f64 (*.f64 v e) (+.f64 e 1))
(*.f64 (/.f64 e (+.f64 e 1)) v)
(*.f64 v (/.f64 e (+.f64 e 1)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))
(fma.f64 -1/6 (/.f64 (*.f64 e (pow.f64 v 3)) (+.f64 e 1)) (/.f64 v (/.f64 (+.f64 e 1) e)))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 v 3) (+.f64 e 1)) e) (/.f64 (*.f64 v e) (+.f64 e 1)))
(fma.f64 -1/6 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 3))) (*.f64 (/.f64 e (+.f64 e 1)) v))
(*.f64 e (+.f64 (/.f64 v (+.f64 e 1)) (*.f64 -1/6 (/.f64 (pow.f64 v 3) (+.f64 e 1)))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e))))
(fma.f64 -1/6 (/.f64 (*.f64 e (pow.f64 v 3)) (+.f64 e 1)) (fma.f64 1/120 (/.f64 (*.f64 e (pow.f64 v 5)) (+.f64 e 1)) (/.f64 v (/.f64 (+.f64 e 1) e))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 v 3) (+.f64 e 1)) e) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 v 5) (+.f64 e 1)) e) (/.f64 (*.f64 v e) (+.f64 e 1))))
(fma.f64 -1/6 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 3))) (fma.f64 1/120 (*.f64 e (/.f64 (pow.f64 v 5) (+.f64 e 1))) (*.f64 (/.f64 e (+.f64 e 1)) v)))
(fma.f64 -1/6 (*.f64 (pow.f64 v 3) (/.f64 e (+.f64 e 1))) (*.f64 e (+.f64 (/.f64 v (+.f64 e 1)) (*.f64 1/120 (/.f64 (pow.f64 v 5) (+.f64 e 1))))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (pow.f64 v 7) e) (+.f64 1 e))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 v 3) e) (+.f64 1 e))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 v 5) e) (+.f64 1 e))) (/.f64 (*.f64 v e) (+.f64 1 e)))))
(fma.f64 -1/5040 (/.f64 (*.f64 e (pow.f64 v 7)) (+.f64 e 1)) (fma.f64 -1/6 (/.f64 (*.f64 e (pow.f64 v 3)) (+.f64 e 1)) (fma.f64 1/120 (/.f64 (*.f64 e (pow.f64 v 5)) (+.f64 e 1)) (/.f64 v (/.f64 (+.f64 e 1) e)))))
(fma.f64 -1/5040 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 7))) (fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 v 3) (+.f64 e 1)) e) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 v 5) (+.f64 e 1)) e) (/.f64 (*.f64 v e) (+.f64 e 1)))))
(fma.f64 -1/6 (/.f64 e (/.f64 (+.f64 e 1) (pow.f64 v 3))) (fma.f64 -1/5040 (*.f64 e (/.f64 (pow.f64 v 7) (+.f64 e 1))) (fma.f64 1/120 (*.f64 e (/.f64 (pow.f64 v 5) (+.f64 e 1))) (*.f64 (/.f64 e (+.f64 e 1)) v))))
(fma.f64 e (/.f64 v (+.f64 e 1)) (fma.f64 -1/6 (*.f64 (pow.f64 v 3) (/.f64 e (+.f64 e 1))) (*.f64 e (+.f64 (*.f64 1/120 (/.f64 (pow.f64 v 5) (+.f64 e 1))) (*.f64 -1/5040 (/.f64 (pow.f64 v 7) (+.f64 e 1)))))))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 1 e))
(/.f64 (*.f64 (sin.f64 v) e) (+.f64 e 1))
(/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))
(*.f64 e (/.f64 (sin.f64 v) (+.f64 e 1)))
(*.f64 (sin.f64 v) (/.f64 e (+.f64 e 1)))

eval346.0ms (4.9%)

Compiler

Compiled 9450 to 5131 computations (45.7% saved)

prune193.0ms (2.7%)

Pruning

34 alts after pruning (28 fresh and 6 done)

PrunedKeptTotal
New55617573
Fresh81119
Picked011
Done358
Total56734601
Error
0b
Counts
601 → 34
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(/.f64 1 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e))
60.3b
(sin.f64 v)
0.9b
(*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))
0.3b
(+.f64 0 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))
33.4b
(/.f64 e (/.f64 (+.f64 e 1) v))
34.2b
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
33.4b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)) (+.f64 1 (*.f64 e (cos.f64 v))))
32.8b
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
34.3b
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
33.6b
(*.f64 v (*.f64 (-.f64 1 e) e))
34.7b
(/.f64 1 (/.f64 1 (*.f64 v e)))
61.3b
v
1.4b
(*.f64 (sin.f64 v) e)
33.9b
(*.f64 v e)
1.0b
(/.f64 (*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v)))) (+.f64 1 e))
1.8b
(pow.f64 (/.f64 (+.f64 e 1) (*.f64 e (sin.f64 v))) -1)
1.2b
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 e))
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
25.2b
(pow.f64 (sqrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 2)
32.8b
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
5.1b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
1.8b
(pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 3)
1.7b
(/.f64 (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 3)) (+.f64 1 e))
63.1b
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
1.0b
(/.f64 (*.f64 e (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
62.8b
(-.f64 v (/.f64 v e))
45.4b
(-.f64 1 1)
1.5b
(/.f64 e (/.f64 1 (sin.f64 v)))
1.0b
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 e))
13.2b
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 e))
27.1b
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 v) e))) (+.f64 1 e))
0.9b
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (*.f64 e e))) (-.f64 1 e))
5.8b
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
13.2b
(/.f64 (*.f64 e (-.f64 (+.f64 1 (sin.f64 v)) 1)) (+.f64 1 e))
Compiler

Compiled 407 to 296 computations (27.3% saved)

regimes155.0ms (2.2%)

Counts
68 → 1
Calls
Call 1
Inputs
(/.f64 (*.f64 e (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 v)))))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (sin.f64 v))) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (sqrt.f64 e) (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) (sqrt.f64 e)))
(/.f64 e (cbrt.f64 (pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) 3)))
(*.f64 e (pow.f64 (cbrt.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))) -3))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 v) (*.f64 (cos.f64 v) (pow.f64 e 2)))) (*.f64 (sin.f64 v) e))
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 v) e)) 2) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 v) e)) 3) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 v) e) 3)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 e (sin.f64 v))) 2) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 3) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 e (sin.f64 v)) 3)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 v) e))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 v) e))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (exp.f64 (log.f64 (*.f64 e (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 (*.f64 e (cos.f64 v))))
(pow.f64 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e) -1)
(+.f64 0 (/.f64 (sin.f64 v) (/.f64 (fma.f64 e (cos.f64 v) 1) e)))
(/.f64 (*.f64 (*.f64 (sin.f64 v) (sqrt.f64 e)) (sqrt.f64 e)) (+.f64 1 e))
(/.f64 1 (/.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)) e))
(*.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))
(pow.f64 (sqrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 2)
(pow.f64 (cbrt.f64 (/.f64 e (/.f64 (+.f64 e 1) (sin.f64 v)))) 3)
(/.f64 (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 3)) (+.f64 1 e))
(/.f64 (*.f64 e (cbrt.f64 (pow.f64 (sin.f64 v) 3))) (+.f64 1 e))
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 e))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 v) e))) (+.f64 1 e))
(/.f64 (*.f64 e (log1p.f64 (expm1.f64 (sin.f64 v)))) (+.f64 1 e))
(/.f64 e (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v)))
(/.f64 (*.f64 e (expm1.f64 (log1p.f64 (sin.f64 v)))) (+.f64 1 e))
(/.f64 (*.f64 e (log.f64 (exp.f64 (sin.f64 v)))) (+.f64 1 e))
(/.f64 (*.f64 e (-.f64 (+.f64 (sin.f64 v) 1) 1)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(pow.f64 (/.f64 (+.f64 e 1) (*.f64 e (sin.f64 v))) -1)
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (*.f64 e e))) (-.f64 1 e))
(/.f64 (*.f64 e (-.f64 (+.f64 1 (sin.f64 v)) 1)) (+.f64 1 e))
(*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))
(*.f64 e (/.f64 1 (/.f64 1 (sin.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
(/.f64 e (/.f64 1 (sin.f64 v)))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(sin.f64 v)
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
(/.f64 1 (/.f64 1 (*.f64 v e)))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 v (*.f64 (-.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 e (/.f64 v (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Calls

3 calls:

47.0ms
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
41.0ms
v
32.0ms
e
Results
ErrorSegmentsBranch
0.1b1e
0.1b1v
0.1b1(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 756 to 357 computations (52.8% saved)

regimes40.0ms (0.6%)

Counts
29 → 1
Calls
Call 1
Inputs
(pow.f64 (/.f64 (+.f64 e 1) (*.f64 e (sin.f64 v))) -1)
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (*.f64 e e))) (-.f64 1 e))
(/.f64 (*.f64 e (-.f64 (+.f64 1 (sin.f64 v)) 1)) (+.f64 1 e))
(*.f64 (/.f64 e (+.f64 e 1)) (sin.f64 v))
(*.f64 e (/.f64 1 (/.f64 1 (sin.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
(/.f64 e (/.f64 1 (sin.f64 v)))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(sin.f64 v)
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
(/.f64 1 (/.f64 1 (*.f64 v e)))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 v (*.f64 (-.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 e (/.f64 v (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
Calls

2 calls:

16.0ms
v
15.0ms
e
Results
ErrorSegmentsBranch
0.9b1e
0.9b1v
Compiler

Compiled 243 to 132 computations (45.7% saved)

regimes29.0ms (0.4%)

Counts
23 → 1
Calls
Call 1
Inputs
(/.f64 e (/.f64 1 (sin.f64 v)))
(*.f64 (sin.f64 v) e)
(*.f64 (sin.f64 v) e)
(sin.f64 v)
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
(/.f64 1 (/.f64 1 (*.f64 v e)))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 v (*.f64 (-.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 e (/.f64 v (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(*.f64 (sin.f64 v) e)
Calls

2 calls:

12.0ms
e
11.0ms
v
Results
ErrorSegmentsBranch
1.4b1e
1.4b1v
Compiler

Compiled 183 to 99 computations (45.9% saved)

regimes29.0ms (0.4%)

Counts
20 → 1
Calls
Call 1
Inputs
(sin.f64 v)
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
(/.f64 1 (/.f64 1 (*.f64 v e)))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 v (*.f64 (-.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 e (/.f64 v (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
Calls

2 calls:

12.0ms
e
11.0ms
v
Results
ErrorSegmentsBranch
32.8b1e
32.8b1v
Compiler

Compiled 169 to 95 computations (43.8% saved)

regimes25.0ms (0.4%)

Counts
18 → 1
Calls
Call 1
Inputs
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
(/.f64 1 (/.f64 1 (*.f64 v e)))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 v (*.f64 (-.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 e (/.f64 v (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
Calls

2 calls:

11.0ms
e
10.0ms
v
Results
ErrorSegmentsBranch
32.8b1e
32.8b1v
Compiler

Compiled 144 to 79 computations (45.1% saved)

regimes23.0ms (0.3%)

Counts
17 → 1
Calls
Call 1
Inputs
(/.f64 1 (+.f64 (/.f64 1 (*.f64 v e)) (/.f64 1 v)))
(/.f64 1 (*.f64 (/.f64 (+.f64 1 e) v) (/.f64 1 e)))
(-.f64 (+.f64 1 (*.f64 e (/.f64 v (+.f64 e 1)))) 1)
(/.f64 1 (/.f64 (+.f64 e 1) (*.f64 v e)))
(*.f64 e (/.f64 (-.f64 v (/.f64 v e)) e))
(/.f64 1 (/.f64 1 (*.f64 v e)))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 v (*.f64 (-.f64 1 e) e))
(/.f64 e (/.f64 (+.f64 e 1) v))
(*.f64 e (/.f64 v (+.f64 e 1)))
(/.f64 (*.f64 v e) (+.f64 1 e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(/.f64 (*.f64 v e) (+.f64 1 e))
Calls

2 calls:

10.0ms
v
9.0ms
e
Results
ErrorSegmentsBranch
33.4b1e
33.4b1v
Compiler

Compiled 123 to 65 computations (47.2% saved)

regimes13.0ms (0.2%)

Accuracy

Total -29.1b remaining (-85.8%)

Threshold costs -29.1b (-85.8%)

Counts
6 → 1
Calls
Call 1
Inputs
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 v (/.f64 v e))
(-.f64 1 1)
(*.f64 v e)
v
Outputs
(*.f64 v e)
Calls

2 calls:

5.0ms
e
5.0ms
v
Results
ErrorSegmentsBranch
33.9b1e
33.9b1v
Compiler

Compiled 30 to 12 computations (60% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028115
146115
255115
363115
469115
572115
673115
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
(*.f64 (sin.f64 v) e)
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(*.f64 v e)
v
Outputs
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 e))
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 e 1))
(*.f64 (sin.f64 v) e)
(*.f64 e (sin.f64 v))
(*.f64 e (/.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(*.f64 e (/.f64 1 (+.f64 (*.f64 v (+.f64 (*.f64 e -1/2) (*.f64 1/6 (+.f64 e 1)))) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(*.f64 e (/.f64 1 (+.f64 (*.f64 v (+.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) 1/6))) (+.f64 (/.f64 e v) (/.f64 1 v)))))
(/.f64 e (+.f64 (*.f64 (-.f64 (*.f64 -1/2 e) (*.f64 -1/6 (+.f64 1 e))) v) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 e (+.f64 (*.f64 v (+.f64 (*.f64 e -1/2) (*.f64 1/6 (+.f64 e 1)))) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 e (+.f64 (*.f64 v (+.f64 (*.f64 e -1/2) (*.f64 (+.f64 e 1) 1/6))) (+.f64 (/.f64 e v) (/.f64 1 v))))
(/.f64 (*.f64 v e) (+.f64 1 e))
(/.f64 (*.f64 e v) (+.f64 e 1))
(*.f64 v e)
(*.f64 e v)
v
Compiler

Compiled 94 to 65 computations (30.9% saved)

soundness0.0ms (0%)

end71.0ms (1%)

Compiler

Compiled 80 to 45 computations (43.8% saved)

Profiling

Loading profile data...