Details

Time bar (total: 18.5s)

analyze4.6s (24.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
3.1%96.7%0.1%7
4.7%95.2%0.1%8
11.7%88.2%0.1%9
17.6%82.3%0.1%10
20.5%79.4%0.1%11
26.6%73.2%0.1%12
31.1%68.8%0.1%13
33.3%66.6%0.1%14
Compiler

Compiled 32 to 18 computations (43.8% saved)

sample9.9s (53.2%)

Results
5.3s2092×body1024valid
2.4s4606×body128valid
1.6s1046×body512valid
492.0ms509×body256valid
16.0msbody2048valid
Compiler

Compiled 64 to 36 computations (43.8% saved)

preprocess30.0ms (0.2%)

Algorithm
egg-herbie
Rules
48×fma-def_binary64
44×*-commutative_binary64
24×associate-*r*_binary64
24×associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057176
1105176
2193176
3241176
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 eh (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t))))) (*.f64 (*.f64 ew (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t)))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 eh)) (cos.f64 (atan.f64 (/.f64 (/.f64 t ew) (tan.f64 eh))))) (*.f64 (*.f64 t (cos.f64 eh)) (sin.f64 (atan.f64 (/.f64 (/.f64 t ew) (tan.f64 eh)))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 t (sin.f64 ew)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh t) (tan.f64 ew))))) (*.f64 (*.f64 eh (cos.f64 ew)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh t) (tan.f64 ew)))))))
Outputs
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
(fabs.f64 (fma.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
(fabs.f64 (fma.f64 ew (*.f64 (sin.f64 t) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 eh (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t))))) (*.f64 (*.f64 ew (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t)))))))
(fabs.f64 (fma.f64 (*.f64 (sin.f64 t) eh) (cos.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t)))) (*.f64 (*.f64 ew (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t)))))))
(fabs.f64 (fma.f64 ew (*.f64 (cos.f64 t) (sin.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t))))) (*.f64 eh (*.f64 (sin.f64 t) (cos.f64 (atan.f64 (/.f64 (/.f64 ew eh) (tan.f64 t))))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 eh)) (cos.f64 (atan.f64 (/.f64 (/.f64 t ew) (tan.f64 eh))))) (*.f64 (*.f64 t (cos.f64 eh)) (sin.f64 (atan.f64 (/.f64 (/.f64 t ew) (tan.f64 eh)))))))
(fabs.f64 (fma.f64 (*.f64 ew (sin.f64 eh)) (cos.f64 (atan.f64 (/.f64 t (*.f64 (tan.f64 eh) ew)))) (*.f64 (*.f64 t (cos.f64 eh)) (sin.f64 (atan.f64 (/.f64 t (*.f64 (tan.f64 eh) ew)))))))
(fabs.f64 (fma.f64 ew (*.f64 (sin.f64 eh) (cos.f64 (atan.f64 (/.f64 t (*.f64 ew (tan.f64 eh)))))) (*.f64 (cos.f64 eh) (*.f64 t (sin.f64 (atan.f64 (/.f64 t (*.f64 ew (tan.f64 eh)))))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 t (sin.f64 ew)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh t) (tan.f64 ew))))) (*.f64 (*.f64 eh (cos.f64 ew)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh t) (tan.f64 ew)))))))
(fabs.f64 (fma.f64 (*.f64 t (sin.f64 ew)) (cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 ew) t)))) (*.f64 (*.f64 eh (cos.f64 ew)) (sin.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 ew) t)))))))
(fabs.f64 (fma.f64 t (*.f64 (sin.f64 ew) (cos.f64 (atan.f64 (/.f64 eh (*.f64 t (tan.f64 ew)))))) (*.f64 (*.f64 eh (cos.f64 ew)) (sin.f64 (atan.f64 (/.f64 eh (*.f64 t (tan.f64 ew))))))))
Compiler

Compiled 31 to 17 computations (45.2% saved)

simplify11.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01844
13044
25244
36444
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Outputs
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
(fabs.f64 (fma.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))) (*.f64 eh (*.f64 (cos.f64 t) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))))))
(fabs.f64 (fma.f64 ew (*.f64 (sin.f64 t) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 eh (*.f64 (cos.f64 t) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))))))

prune7.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
StatusErrorProgram
0.1b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Compiler

Compiled 120 to 56 computations (53.3% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 eh (cos.f64 t))
0.1b
(*.f64 ew (sin.f64 t))
2.6b
(/.f64 (/.f64 eh ew) (tan.f64 t))
34.4b
(cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))

series171.0ms (0.9%)

Counts
4 → 120
Calls

30 calls:

TimeVariablePointExpression
17.0ms
t
@inf
(/.f64 (/.f64 eh ew) (tan.f64 t))
16.0ms
eh
@inf
(/.f64 (/.f64 eh ew) (tan.f64 t))
16.0ms
t
@-inf
(/.f64 (/.f64 eh ew) (tan.f64 t))
14.0ms
eh
@-inf
(/.f64 (/.f64 eh ew) (tan.f64 t))
14.0ms
ew
@0
(/.f64 (/.f64 eh ew) (tan.f64 t))

rewrite90.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
257×expm1-udef_binary64
257×log1p-udef_binary64
141×*-un-lft-identity_binary64
141×add-sqr-sqrt_binary64
141×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01334
127034
2365334
Stop Event
node limit
Counts
4 → 94
Calls
Call 1
Inputs
(cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))
(/.f64 (/.f64 eh ew) (tan.f64 t))
(*.f64 ew (sin.f64 t))
(*.f64 eh (cos.f64 t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) (pow.f64 (cbrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) 2) (cbrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) (sqrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (hypot.f64 1 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 1 (/.f64 eh (*.f64 ew (tan.f64 t)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (hypot.f64 1 (/.f64 eh (*.f64 ew (tan.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (/.f64 eh (*.f64 ew (tan.f64 t)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (atan.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eh (/.f64 1 (*.f64 ew (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eh (*.f64 (pow.f64 ew -1) (/.f64 1 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eh ew) (/.f64 1 (tan.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eh (*.f64 ew (tan.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 eh (*.f64 ew (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) (pow.f64 (cbrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) 2) (cbrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 eh ew)) 2) (*.f64 (cbrt.f64 (/.f64 eh ew)) (/.f64 1 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) (sqrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 eh ew)) (*.f64 (sqrt.f64 (/.f64 eh ew)) (/.f64 1 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 eh) ew) (/.f64 1 (neg.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (tan.f64 t)) (/.f64 eh ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 eh) 2) (tan.f64 t)) (/.f64 (cbrt.f64 eh) ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 eh) (tan.f64 t)) (/.f64 (sqrt.f64 eh) ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eh 1) (/.f64 (pow.f64 ew -1) (tan.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 eh ew)) 2) 1) (/.f64 (cbrt.f64 (/.f64 eh ew)) (tan.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 eh ew)) 1) (/.f64 (sqrt.f64 (/.f64 eh ew)) (tan.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eh (pow.f64 (cbrt.f64 (tan.f64 t)) 2)) (/.f64 (pow.f64 ew -1) (cbrt.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (tan.f64 t)) 2)) (/.f64 (/.f64 eh ew) (cbrt.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 eh ew)) 2) (pow.f64 (cbrt.f64 (tan.f64 t)) 2)) (cbrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 eh ew)) (pow.f64 (cbrt.f64 (tan.f64 t)) 2)) (/.f64 (sqrt.f64 (/.f64 eh ew)) (cbrt.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eh (sqrt.f64 (tan.f64 t))) (/.f64 (pow.f64 ew -1) (sqrt.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (tan.f64 t))) (/.f64 (/.f64 eh ew) (sqrt.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 eh ew)) 2) (sqrt.f64 (tan.f64 t))) (/.f64 (cbrt.f64 (/.f64 eh ew)) (sqrt.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 eh ew) (sin.f64 t)) (cos.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eh (*.f64 ew (tan.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 eh (*.f64 ew (tan.f64 t))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (tan.f64 t) (/.f64 ew eh)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 eh ew) (neg.f64 (tan.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 eh (*.f64 ew (tan.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 eh (*.f64 ew (tan.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 eh (*.f64 ew (tan.f64 t))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 eh ew) 3) (pow.f64 (tan.f64 t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 eh (*.f64 ew (tan.f64 t)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 ew (sin.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 ew (sin.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 ew) (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 ew 3) (pow.f64 (sin.f64 t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 t) 3) (pow.f64 ew 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 ew (sin.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 ew (sin.f64 t))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eh (cos.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eh (cos.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eh (cos.f64 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eh (cos.f64 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eh (cos.f64 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eh (cos.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eh) (cos.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eh (cos.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eh (cos.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eh 3) (pow.f64 (cos.f64 t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 t) 3) (pow.f64 eh 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eh (cos.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eh (cos.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eh (cos.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eh (cos.f64 t))))))))

simplify83.0ms (0.4%)

Algorithm
egg-herbie
Rules
567×fma-neg_binary64
352×distribute-lft-neg-in_binary64
345×distribute-rgt-neg-in_binary64
208×associate-*r*_binary64
192×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0731411
12101402
26551382
323881378
Stop Event
node limit
Counts
214 → 123
Calls
Call 1
Inputs
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 eh (*.f64 t ew))
(-.f64 (/.f64 eh (*.f64 t ew)) (*.f64 1/3 (/.f64 (*.f64 t eh) ew)))
(-.f64 (/.f64 eh (*.f64 t ew)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 t eh) ew)) (*.f64 1/45 (/.f64 (*.f64 (pow.f64 t 3) eh) ew))))
(-.f64 (/.f64 eh (*.f64 t ew)) (+.f64 (*.f64 2/945 (/.f64 (*.f64 (pow.f64 t 5) eh) ew)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 t eh) ew)) (*.f64 1/45 (/.f64 (*.f64 (pow.f64 t 3) eh) ew)))))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 t ew)
(-.f64 (*.f64 t ew) (*.f64 1/6 (*.f64 (pow.f64 t 3) ew)))
(-.f64 (+.f64 (*.f64 t ew) (*.f64 1/120 (*.f64 (pow.f64 t 5) ew))) (*.f64 1/6 (*.f64 (pow.f64 t 3) ew)))
(-.f64 (+.f64 (*.f64 t ew) (*.f64 1/120 (*.f64 (pow.f64 t 5) ew))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 t 7) ew)) (*.f64 1/6 (*.f64 (pow.f64 t 3) ew))))
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
eh
(-.f64 eh (*.f64 1/2 (*.f64 (pow.f64 t 2) eh)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 t 4) eh)) eh) (*.f64 1/2 (*.f64 (pow.f64 t 2) eh)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 t 4) eh)) eh) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 t 2) eh)) (*.f64 1/720 (*.f64 (pow.f64 t 6) eh))))
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
(*.f64 (cos.f64 t) eh)
Outputs
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(cos.f64 (atan.f64 (/.f64 eh (*.f64 (tan.f64 t) ew))))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 eh (*.f64 t ew))
(/.f64 (/.f64 eh ew) t)
(-.f64 (/.f64 eh (*.f64 t ew)) (*.f64 1/3 (/.f64 (*.f64 t eh) ew)))
(+.f64 (/.f64 eh (*.f64 t ew)) (*.f64 -1/3 (/.f64 t (/.f64 ew eh))))
(-.f64 (/.f64 eh (*.f64 t ew)) (*.f64 1/3 (*.f64 (/.f64 t ew) eh)))
(fma.f64 (*.f64 eh (/.f64 t ew)) -1/3 (/.f64 eh (*.f64 t ew)))
(fma.f64 (*.f64 (/.f64 eh ew) t) -1/3 (/.f64 (/.f64 eh ew) t))
(-.f64 (/.f64 eh (*.f64 t ew)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 t eh) ew)) (*.f64 1/45 (/.f64 (*.f64 (pow.f64 t 3) eh) ew))))
(-.f64 (/.f64 eh (*.f64 t ew)) (fma.f64 1/3 (/.f64 t (/.f64 ew eh)) (*.f64 1/45 (/.f64 (pow.f64 t 3) (/.f64 ew eh)))))
(-.f64 (/.f64 eh (*.f64 t ew)) (fma.f64 1/3 (*.f64 (/.f64 t ew) eh) (*.f64 1/45 (*.f64 (/.f64 (pow.f64 t 3) ew) eh))))
(+.f64 (fma.f64 (*.f64 eh (/.f64 t ew)) -1/3 (/.f64 eh (*.f64 t ew))) (*.f64 (*.f64 (/.f64 eh ew) (pow.f64 t 3)) -1/45))
(-.f64 (/.f64 (/.f64 eh ew) t) (*.f64 eh (+.f64 (/.f64 t (/.f64 ew 1/3)) (/.f64 1/45 (/.f64 ew (pow.f64 t 3))))))
(-.f64 (/.f64 eh (*.f64 t ew)) (+.f64 (*.f64 2/945 (/.f64 (*.f64 (pow.f64 t 5) eh) ew)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 t eh) ew)) (*.f64 1/45 (/.f64 (*.f64 (pow.f64 t 3) eh) ew)))))
(-.f64 (/.f64 eh (*.f64 t ew)) (fma.f64 2/945 (/.f64 (pow.f64 t 5) (/.f64 ew eh)) (fma.f64 1/3 (/.f64 t (/.f64 ew eh)) (*.f64 1/45 (/.f64 (pow.f64 t 3) (/.f64 ew eh))))))
(-.f64 (/.f64 eh (*.f64 t ew)) (fma.f64 2/945 (*.f64 (/.f64 (pow.f64 t 5) ew) eh) (fma.f64 1/3 (*.f64 (/.f64 t ew) eh) (*.f64 1/45 (*.f64 (/.f64 (pow.f64 t 3) ew) eh)))))
(-.f64 (/.f64 eh (*.f64 t ew)) (fma.f64 1/45 (*.f64 (/.f64 eh ew) (pow.f64 t 3)) (fma.f64 2/945 (*.f64 (/.f64 eh ew) (pow.f64 t 5)) (*.f64 (/.f64 (*.f64 t 1/3) ew) eh))))
(+.f64 (fma.f64 (*.f64 (/.f64 eh ew) t) -1/3 (/.f64 (/.f64 eh ew) t)) (*.f64 eh (-.f64 (*.f64 -2/945 (/.f64 (pow.f64 t 5) ew)) (/.f64 1/45 (/.f64 ew (pow.f64 t 3))))))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(/.f64 (*.f64 (cos.f64 t) eh) (*.f64 (sin.f64 t) ew))
(/.f64 (cos.f64 t) (/.f64 (*.f64 ew (sin.f64 t)) eh))
(*.f64 (/.f64 (cos.f64 t) (sin.f64 t)) (/.f64 eh ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) (sin.f64 t)) ew))
(*.f64 eh (/.f64 (/.f64 (cos.f64 t) ew) (sin.f64 t)))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 t ew)
(-.f64 (*.f64 t ew) (*.f64 1/6 (*.f64 (pow.f64 t 3) ew)))
(+.f64 (*.f64 t ew) (*.f64 -1/6 (*.f64 ew (pow.f64 t 3))))
(*.f64 ew (-.f64 t (*.f64 (pow.f64 t 3) 1/6)))
(*.f64 ew (+.f64 t (*.f64 (pow.f64 t 3) -1/6)))
(-.f64 (+.f64 (*.f64 t ew) (*.f64 1/120 (*.f64 (pow.f64 t 5) ew))) (*.f64 1/6 (*.f64 (pow.f64 t 3) ew)))
(+.f64 (fma.f64 t ew (*.f64 1/120 (*.f64 ew (pow.f64 t 5)))) (*.f64 -1/6 (*.f64 ew (pow.f64 t 3))))
(fma.f64 t ew (*.f64 ew (-.f64 (*.f64 (pow.f64 t 5) 1/120) (*.f64 (pow.f64 t 3) 1/6))))
(*.f64 ew (-.f64 (fma.f64 (pow.f64 t 5) 1/120 t) (*.f64 (pow.f64 t 3) 1/6)))
(*.f64 ew (+.f64 (fma.f64 (pow.f64 t 5) 1/120 t) (*.f64 (pow.f64 t 3) -1/6)))
(-.f64 (+.f64 (*.f64 t ew) (*.f64 1/120 (*.f64 (pow.f64 t 5) ew))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 t 7) ew)) (*.f64 1/6 (*.f64 (pow.f64 t 3) ew))))
(-.f64 (fma.f64 t ew (*.f64 1/120 (*.f64 ew (pow.f64 t 5)))) (fma.f64 1/5040 (*.f64 ew (pow.f64 t 7)) (*.f64 1/6 (*.f64 ew (pow.f64 t 3)))))
(-.f64 (*.f64 ew (+.f64 t (*.f64 (pow.f64 t 5) 1/120))) (*.f64 ew (+.f64 (*.f64 1/5040 (pow.f64 t 7)) (*.f64 (pow.f64 t 3) 1/6))))
(*.f64 ew (-.f64 (fma.f64 (pow.f64 t 5) 1/120 t) (fma.f64 (pow.f64 t 3) 1/6 (*.f64 1/5040 (pow.f64 t 7)))))
(*.f64 ew (-.f64 (fma.f64 (pow.f64 t 5) 1/120 t) (fma.f64 1/5040 (pow.f64 t 7) (*.f64 (pow.f64 t 3) 1/6))))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (sin.f64 t) ew)
(*.f64 ew (sin.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
eh
(-.f64 eh (*.f64 1/2 (*.f64 (pow.f64 t 2) eh)))
(+.f64 eh (*.f64 -1/2 (*.f64 eh (*.f64 t t))))
(+.f64 eh (*.f64 (*.f64 t (*.f64 eh t)) -1/2))
(fma.f64 (*.f64 t (*.f64 eh t)) -1/2 eh)
(fma.f64 (*.f64 eh -1/2) (*.f64 t t) eh)
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 t 4) eh)) eh) (*.f64 1/2 (*.f64 (pow.f64 t 2) eh)))
(+.f64 (fma.f64 1/24 (*.f64 eh (pow.f64 t 4)) eh) (*.f64 -1/2 (*.f64 eh (*.f64 t t))))
(+.f64 (fma.f64 1/24 (*.f64 eh (pow.f64 t 4)) eh) (*.f64 (*.f64 t (*.f64 eh t)) -1/2))
(*.f64 eh (-.f64 (fma.f64 1/24 (pow.f64 t 4) 1) (*.f64 t (*.f64 t 1/2))))
(+.f64 eh (*.f64 eh (fma.f64 1/24 (pow.f64 t 4) (*.f64 t (*.f64 t -1/2)))))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 t 4) eh)) eh) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 t 2) eh)) (*.f64 1/720 (*.f64 (pow.f64 t 6) eh))))
(-.f64 (fma.f64 1/24 (*.f64 eh (pow.f64 t 4)) eh) (fma.f64 1/2 (*.f64 eh (*.f64 t t)) (*.f64 1/720 (*.f64 eh (pow.f64 t 6)))))
(-.f64 (fma.f64 1/24 (*.f64 eh (pow.f64 t 4)) eh) (*.f64 eh (+.f64 (*.f64 1/2 (*.f64 t t)) (*.f64 1/720 (pow.f64 t 6)))))
(+.f64 eh (*.f64 eh (-.f64 (*.f64 1/24 (pow.f64 t 4)) (fma.f64 1/2 (*.f64 t t) (*.f64 1/720 (pow.f64 t 6))))))
(*.f64 eh (-.f64 (fma.f64 1/24 (pow.f64 t 4) 1) (fma.f64 1/2 (*.f64 t t) (*.f64 1/720 (pow.f64 t 6)))))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))
(*.f64 (cos.f64 t) eh)
(*.f64 eh (cos.f64 t))

prune259.0ms (1.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1677174
Fresh000
Picked101
Done000
Total1687175
Error
0.1b
Counts
175 → 7
Alt Table
StatusErrorProgram
27.1b
(fabs.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.6b
(fabs.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
25.3b
(fabs.f64 (+.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 ew 3) (pow.f64 (sin.f64 t) 3))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 eh (cos.f64 t))) 3) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
24.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (fma.f64 (*.f64 eh -1/2) (*.f64 t t) eh) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
33.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 eh (cos.f64 t))) 2) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
26.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 eh 3) (pow.f64 (cos.f64 t) 3))) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Compiler

Compiled 6347 to 1727 computations (72.8% saved)

localize45.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3)
2.6b
(/.f64 (/.f64 eh ew) (tan.f64 t))
7.7b
(cbrt.f64 (*.f64 ew (sin.f64 t)))
34.4b
(cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))

series241.0ms (1.3%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
43.0ms
t
@inf
(pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3)
40.0ms
t
@-inf
(cbrt.f64 (*.f64 ew (sin.f64 t)))
39.0ms
t
@-inf
(pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3)
37.0ms
ew
@-inf
(pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3)
34.0ms
t
@inf
(cbrt.f64 (*.f64 ew (sin.f64 t)))

rewrite54.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
638×pow1_binary64
596×add-log-exp_binary64
596×log1p-expm1-u_binary64
596×expm1-log1p-u_binary64
71×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116614
2166914
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 ew (sin.f64 t)))
(pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 ew) (cbrt.f64 (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 t)) (cbrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 1/6) (pow.f64 (*.f64 ew (sin.f64 t)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 1/3) (pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 ew (sin.f64 t)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 ew (sin.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 ew (sin.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 t) ew)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 ew (sin.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 ew (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) (cbrt.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 ew) (*.f64 (cbrt.f64 (sin.f64 t)) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 ew) 2) (*.f64 (cbrt.f64 ew) (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 t)) 2) (*.f64 (cbrt.f64 (sin.f64 t)) ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) (sqrt.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 ew) (*.f64 (sqrt.f64 ew) (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 1/6) (*.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 1/6) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 t)) (*.f64 (sqrt.f64 (sin.f64 t)) ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 2) 3) (cbrt.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 ew (pow.f64 (cbrt.f64 (sin.f64 t)) 2)) (cbrt.f64 (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 ew (sqrt.f64 (sin.f64 t))) (sqrt.f64 (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 t) (pow.f64 (cbrt.f64 ew) 2)) (cbrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 t) (sqrt.f64 ew)) (sqrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) 1) (cbrt.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) (cbrt.f64 ew)) (cbrt.f64 (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2) (pow.f64 (*.f64 ew (sin.f64 t)) 1/6)) (pow.f64 (*.f64 ew (sin.f64 t)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 ew) (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 ew (sin.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 ew (sin.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 ew 3) (pow.f64 (sin.f64 t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 t) 3) (pow.f64 ew 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 ew (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 ew (sin.f64 t))))))))

simplify81.0ms (0.4%)

Algorithm
egg-herbie
Rules
730×sqr-pow_binary64
370×cube-prod_binary64
362×unswap-sqr_binary64
313×pow-sqr_binary64
283×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07112
114112
219112
328112
450112
5139112
6519112
71180112
81270112
91406112
101567112
111798112
122123112
132547112
143050112
153650112
164375112
174698112
184984112
Stop Event
node limit
Counts
72 → 58
Calls
Call 1
Inputs
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
Outputs
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(pow.f64 (*.f64 (sin.f64 t) ew) 1/3)
(cbrt.f64 (*.f64 (sin.f64 t) ew))
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)
(*.f64 (sin.f64 t) ew)

prune459.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1795184
Fresh156
Picked101
Done000
Total18110191
Error
0.0b
Counts
191 → 10
Alt Table
StatusErrorProgram
0.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 ew (sin.f64 t)))) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
33.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 eh (cos.f64 t))) 2) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
26.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 eh 3) (pow.f64 (cos.f64 t) 3))) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.6b
(fabs.f64 (+.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 ew) 2) (*.f64 (cbrt.f64 ew) (sin.f64 t))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.5b
(fabs.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 ew) (*.f64 (cbrt.f64 (sin.f64 t)) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
27.1b
(fabs.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.6b
(fabs.f64 (+.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 ew) (cbrt.f64 (sin.f64 t))) 3) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 eh (cos.f64 t))) 3) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
24.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (fma.f64 (*.f64 eh -1/2) (*.f64 t t) eh) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
32.6b
(fabs.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 t)) (*.f64 (sqrt.f64 (sin.f64 t)) ew)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Compiler

Compiled 7432 to 2219 computations (70.1% saved)

localize45.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (sin.f64 t))
2.6b
(/.f64 (/.f64 eh ew) (tan.f64 t))
7.7b
(cbrt.f64 (*.f64 ew (sin.f64 t)))
34.4b
(cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))

series60.0ms (0.3%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
30.0ms
t
@inf
(cbrt.f64 (sin.f64 t))
28.0ms
t
@-inf
(cbrt.f64 (sin.f64 t))
2.0ms
t
@0
(cbrt.f64 (sin.f64 t))

rewrite42.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
342×pow1_binary64
330×add-sqr-sqrt_binary64
317×add-log-exp_binary64
317×log1p-expm1-u_binary64
317×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1765
28655
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(cbrt.f64 (sin.f64 t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (sin.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 t))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 t))) 2) (cbrt.f64 (cbrt.f64 (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 t) 1/6) (pow.f64 (sin.f64 t) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (sin.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 t)) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 t)) 1/3) (pow.f64 (sqrt.f64 (sin.f64 t)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 t) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 t) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 t))))))))

simplify88.0ms (0.5%)

Algorithm
egg-herbie
Rules
731×sqr-pow_binary64
370×cube-prod_binary64
362×unswap-sqr_binary64
313×pow-sqr_binary64
282×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0540
11140
21640
32540
44740
513740
649740
7115940
8124940
9138540
10154640
11177740
12210240
13252640
14302940
15362940
16435640
17467540
18496140
Stop Event
node limit
Counts
26 → 19
Calls
Call 1
Inputs
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
(pow.f64 (sin.f64 t) 1/3)
Outputs
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))
(pow.f64 (sin.f64 t) 1/3)
(cbrt.f64 (sin.f64 t))

prune393.0ms (2.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1681169
Fresh369
Picked011
Done000
Total1718179
Error
0.0b
Counts
179 → 8
Alt Table
StatusErrorProgram
26.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 eh 3) (pow.f64 (cos.f64 t) 3))) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.6b
(fabs.f64 (+.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 ew) 2) (*.f64 (cbrt.f64 ew) (sin.f64 t))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.5b
(fabs.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 ew) (*.f64 (cbrt.f64 (sin.f64 t)) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
27.1b
(fabs.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.7b
(fabs.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 ew) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 t))) 3) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 eh (cos.f64 t))) 3) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
24.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (fma.f64 (*.f64 eh -1/2) (*.f64 t t) eh) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
33.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 eh (cos.f64 t))) 2) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Compiler

Compiled 7895 to 2381 computations (69.8% saved)

localize40.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 ew) 2)
0.6b
(cbrt.f64 ew)
2.6b
(/.f64 (/.f64 eh ew) (tan.f64 t))
34.4b
(cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))

series54.0ms (0.3%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
29.0ms
ew
@-inf
(pow.f64 (cbrt.f64 ew) 2)
14.0ms
ew
@-inf
(cbrt.f64 ew)
3.0ms
ew
@0
(pow.f64 (cbrt.f64 ew) 2)
3.0ms
ew
@inf
(pow.f64 (cbrt.f64 ew) 2)
2.0ms
ew
@0
(cbrt.f64 ew)

rewrite40.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
374×pow1_binary64
349×add-log-exp_binary64
349×log1p-expm1-u_binary64
349×expm1-log1p-u_binary64
340×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
11019
210339
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(cbrt.f64 ew)
(pow.f64 (cbrt.f64 ew) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 ew)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 ew) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 ew)) (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2)) (cbrt.f64 (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 ew 1/6) (pow.f64 ew 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 ew (cbrt.f64 ew)))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 ew) 1/3) (pow.f64 (sqrt.f64 ew) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 ew 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 ew) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 ew) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 ew)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 ew 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 ew) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 ew)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 ew) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 ew) (cbrt.f64 ew))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 ew) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 ew) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2)) (cbrt.f64 (*.f64 ew (cbrt.f64 ew))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2)) (*.f64 (cbrt.f64 (cbrt.f64 ew)) (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 ew (cbrt.f64 ew))) (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 ew 1/6) (*.f64 (pow.f64 ew 1/6) (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 ew) (pow.f64 ew 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 ew) (cbrt.f64 (pow.f64 (cbrt.f64 ew) 2))) (cbrt.f64 (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 ew (cbrt.f64 ew)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 ew) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 ew ew))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 ew))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 ew) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 ew) 2)))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

prune398.0ms (2.1%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1820182
Fresh066
Picked011
Done011
Total1828190
Error
0.0b
Counts
190 → 8
Alt Table
StatusErrorProgram
26.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 eh 3) (pow.f64 (cos.f64 t) 3))) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.6b
(fabs.f64 (+.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 ew) 2) (*.f64 (cbrt.f64 ew) (sin.f64 t))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.5b
(fabs.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 ew) (*.f64 (cbrt.f64 (sin.f64 t)) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
27.1b
(fabs.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (sin.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.7b
(fabs.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 ew) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 t))) 3) (pow.f64 (cbrt.f64 (*.f64 ew (sin.f64 t))) 2))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
0.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 eh (cos.f64 t))) 3) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
24.8b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (fma.f64 (*.f64 eh -1/2) (*.f64 t t) eh) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
33.2b
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 eh (cos.f64 t))) 2) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Compiler

Compiled 7441 to 2181 computations (70.7% saved)

regimes1.0s (5.4%)

Accuracy

Total 0.1b remaining (39.5%)

Threshold costs 0.1b (39.5%)

Counts
90 → 1
Compiler

Compiled 16126 to 10174 computations (36.9% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
*-lft-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02046
12946
Stop Event
saturated
Calls
Call 1
Inputs
(fabs.f64 (+.f64 (*.f64 (*.f64 1 (*.f64 ew (sin.f64 t))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
Outputs
(fabs.f64 (+.f64 (*.f64 (*.f64 1 (*.f64 ew (sin.f64 t))) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))
(fabs.f64 (+.f64 (*.f64 (*.f64 ew (sin.f64 t)) (cos.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (*.f64 eh (cos.f64 t)) (sin.f64 (atan.f64 (/.f64 (/.f64 eh ew) (tan.f64 t)))))))

end325.0ms (1.8%)

Stop Event
fuel
Compiler

Compiled 357 to 207 computations (42% saved)

Profiling

Loading profile data...