Details

Time bar (total: 9.0s)

analyze377.0ms (4.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
3.1%96.7%0.2%8
6.2%92%1.8%9
8.2%90.1%1.8%10
13.3%84.2%2.5%11
16.2%74.7%9.2%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.8s (30.8%)

Results
1.4s8256×body256valid
1.3s8465×body256invalid

preprocess38.0ms (0.4%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
12×associate-/r*_binary64
swap-V-l
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03284
15684
26484
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
2
Call 2
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 c0 V))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 l V) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Symmetry

(sort V l)

Compiler

Compiled 16 to 12 computations (25% saved)

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21512
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

eval1.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
14.5b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize21.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.5b
(/.f64 A (*.f64 V l))
13.0b
(sqrt.f64 (/.f64 A (*.f64 V l)))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series31.0ms (0.3%)

Counts
3 → 12
Calls

30 calls:

TimeVariablePointExpression
4.0ms
V
@0
(/.f64 A (*.f64 V l))
2.0ms
c0
@inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
2.0ms
A
@0
(sqrt.f64 (/.f64 A (*.f64 V l)))
1.0ms
A
@inf
(/.f64 A (*.f64 V l))
1.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

rewrite72.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
914×add-log-exp_binary64
914×log1p-expm1-u_binary64
914×expm1-log1p-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118528
2245628
Stop Event
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A (*.f64 V l)))
(/.f64 A (*.f64 V l))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (/.f64 1 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 A) (/.f64 1 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 V l)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) 1) (/.f64 (cbrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 A (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 V l))) (/.f64 A (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (sqrt.f64 (*.f64 V l))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 A (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
102 → 91
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval22.0ms (0.2%)

Compiler

Compiled 1148 to 426 computations (62.9% saved)

prune30.0ms (0.3%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New751691
Fresh000
Picked011
Done000
Total751792
Error
2.5b
Counts
92 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
14.4b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))
34.4b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
54.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
17.0b
(*.f64 c0 (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))
16.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
15.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
16.4b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
17.1b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
15.3b
(*.f64 c0 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))
22.5b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
16.4b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
37.6b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
16.5b
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2))
45.9b
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 480 to 338 computations (29.6% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(cbrt.f64 A)
0.7b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))
3.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))
13.0b
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V)))
Compiler

Compiled 62 to 27 computations (56.5% saved)

series122.0ms (1.4%)

Counts
4 → 48
Calls

33 calls:

TimeVariablePointExpression
51.0ms
A
@0
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V)))
18.0ms
V
@0
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V)))
16.0ms
l
@0
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V)))
15.0ms
c0
@0
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))
2.0ms
A
@-inf
(*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))

rewrite85.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
710×log-prod_binary64
344×pow2_binary64
289×pow-unpow_binary64
246×pow1/3_binary64
236×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
127831
2363431
Stop Event
node limit
Counts
4 → 151
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))
(cbrt.f64 A)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) (cbrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) (pow.f64 (/.f64 (/.f64 A l) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cbrt.f64 A) V)) (/.f64 (cbrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) (sqrt.f64 (/.f64 (cbrt.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A l) V))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A l) V))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A l) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 l V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 A) (*.f64 (*.f64 l (pow.f64 (cbrt.f64 A) -2)) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 A) (*.f64 V (*.f64 l (pow.f64 (cbrt.f64 A) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 l (/.f64 V (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (/.f64 V (cbrt.f64 A)) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 (*.f64 l V) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 l (/.f64 (cbrt.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 V (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 A) V) (*.f64 l (pow.f64 (cbrt.f64 A) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 l (pow.f64 (cbrt.f64 A) -2)) (/.f64 V (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 V (cbrt.f64 A)) (*.f64 l (pow.f64 (cbrt.f64 A) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 l V) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (*.f64 l V) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 A)) (*.f64 (*.f64 l (pow.f64 (cbrt.f64 A) -2)) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (*.f64 (/.f64 V (cbrt.f64 A)) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (neg.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A)) (*.f64 (neg.f64 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) 1) (*.f64 (neg.f64 l) (/.f64 V (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 A) 2) (neg.f64 (cbrt.f64 A))) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (neg.f64 (cbrt.f64 A))) (*.f64 (neg.f64 l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) (pow.f64 (cbrt.f64 A) 2)) (*.f64 (neg.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) 1) (*.f64 (neg.f64 V) (*.f64 l (pow.f64 (cbrt.f64 A) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 A) (neg.f64 (pow.f64 (cbrt.f64 A) 2))) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) (neg.f64 (pow.f64 (cbrt.f64 A) 2))) (*.f64 (neg.f64 V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (/.f64 (cbrt.f64 A) V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) (/.f64 (pow.f64 (cbrt.f64 A) 2) l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (neg.f64 (cbrt.f64 A))) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 A) V) (neg.f64 (pow.f64 (cbrt.f64 A) 2))) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) 6) (pow.f64 (/.f64 (cbrt.f64 A) V) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) V) 3) (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 l (pow.f64 (cbrt.f64 A) -2)) (/.f64 V (cbrt.f64 A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V (cbrt.f64 A)) (*.f64 l (pow.f64 (cbrt.f64 A) -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) 6) (pow.f64 (/.f64 (cbrt.f64 A) V) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) V) 3) (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A l) V) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) (pow.f64 c0 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A l) V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A l) V) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A l) V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 A))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 A)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2) (cbrt.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 A)) (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/6) (pow.f64 A 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 A (cbrt.f64 A)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 A 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 A) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A A) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 A 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 A)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 A) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 A 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 A) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 A) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 A)) 1))))))

simplify16.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
199 → 153
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
5.9b
(/.f64 (/.f64 A V) l)
13.0b
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series46.0ms (0.5%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
31.0ms
V
@0
(/.f64 (/.f64 A V) l)
1.0ms
c0
@0
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
V
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
l
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
A
@inf
(/.f64 (/.f64 A V) l)

rewrite75.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
418×exp-prod_binary64
359×pow-prod-down_binary64
280×pow2_binary64
196×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
121728
2284428
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
(/.f64 (/.f64 A V) l)
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (*.f64 (cbrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) V) (/.f64 1 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (/.f64 A V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) 1) (/.f64 (cbrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) 1) (/.f64 (sqrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (cbrt.f64 (*.f64 l l))) (/.f64 (/.f64 1 V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) -2) (/.f64 (/.f64 A V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (cbrt.f64 (*.f64 l l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 (*.f64 l l))) (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 l)) (/.f64 (/.f64 1 V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (sqrt.f64 l)) (/.f64 (cbrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 5/6) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l (/.f64 V A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))) 2)) (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
166 → 120
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize62.0ms (0.7%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
6.0b
(*.f64 (/.f64 A V) (/.f64 1 l))
13.0b
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
Compiler

Compiled 40 to 20 computations (50% saved)

series11.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
1.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
1.0ms
A
@0
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
0.0ms
A
@-inf
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
0.0ms
A
@-inf
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
0.0ms
l
@-inf
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))

rewrite96.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
595×log-prod_binary64
421×pow-prod-down_binary64
286×pow2_binary64
236×pow-unpow_binary64
204×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
123028
2305328
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
(*.f64 (/.f64 A V) (/.f64 1 l))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 l (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 (*.f64 V l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 V (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 V A) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 l) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (/.f64 l (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (/.f64 l (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 V A) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (neg.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 (neg.f64 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) 1) (*.f64 (neg.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A -1) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) -1) (*.f64 (neg.f64 V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 A)) (*.f64 (neg.f64 l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) (/.f64 1 l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 A V) -1) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 l) (neg.f64 A)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 V l)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
175 → 128
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sqrt.f64 A) c0)
1.1b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
8.4b
(sqrt.f64 (*.f64 V l))
Compiler

Compiled 30 to 9 computations (70% saved)

series17.0ms (0.2%)

Counts
3 → 12
Calls

24 calls:

TimeVariablePointExpression
2.0ms
V
@inf
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
1.0ms
l
@inf
(sqrt.f64 (*.f64 V l))
1.0ms
V
@-inf
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
1.0ms
V
@0
(sqrt.f64 (*.f64 V l))
1.0ms
V
@-inf
(sqrt.f64 (*.f64 V l))

rewrite79.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
573×log-prod_binary64
422×exp-prod_binary64
369×pow-prod-down_binary64
262×pow2_binary64
220×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
120426
2267626
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 V l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 (sqrt.f64 A) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) 1/6) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V l)) (pow.f64 (*.f64 V l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) 1/4) (pow.f64 (*.f64 V l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 V l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 V l))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 V l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))) (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 1) (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) 1) (/.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) 1) (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))) (/.f64 c0 (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (cbrt.f64 (*.f64 V l))) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 V l))) (/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (cbrt.f64 (*.f64 V l))) (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (cbrt.f64 (*.f64 V l))) (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/4)) (/.f64 c0 (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (pow.f64 (*.f64 V l) 1/4)) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/4) (/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (pow.f64 (*.f64 V l) 1/4)) (/.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 V)) (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (sqrt.f64 V)) (/.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 V)) (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3) (pow.f64 (*.f64 V l) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (neg.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3) (pow.f64 (*.f64 V l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 A) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 A) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 A) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 A (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)) 1) 1))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
136 → 125
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize66.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
5.9b
(/.f64 (/.f64 A V) l)
8.0b
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
13.0b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 51 to 12 computations (76.5% saved)

series217.0ms (2.4%)

Counts
3 → 48
Calls

33 calls:

TimeVariablePointExpression
114.0ms
A
@inf
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
27.0ms
V
@0
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
18.0ms
l
@0
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
17.0ms
A
@0
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
9.0ms
V
@inf
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))

rewrite72.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
427×exp-prod_binary64
393×pow-prod-down_binary64
274×pow2_binary64
211×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
121035
2285135
Stop Event
node limit
Counts
3 → 112
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A V) l))
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 c0) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))) (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6) (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1) 3))))))

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
570×fma-def_binary64
369×exp-sum_binary64
342×fma-neg_binary64
305×div-sub_binary64
275×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0791092
11981020
2490924
31412816
44031768
Stop Event
node limit
Counts
160 → 125
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A)))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A)))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 -1 A)))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (/.f64 A l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 1 c0) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V))))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l))))) (pow.f64 (*.f64 1 c0) 1/3))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A))))
(*.f64 (cbrt.f64 c0) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 A) (log.f64 (*.f64 V l)))))
(*.f64 (pow.f64 (/.f64 A V) 1/6) (*.f64 (pow.f64 l -1/6) (cbrt.f64 c0)))
(*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 c0)) 1/3) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 -1 l))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (neg.f64 (log.f64 (/.f64 -1 A))))))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (exp.f64 1/6) (-.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (/.f64 1 (*.f64 V l)) 1/6)) (pow.f64 (/.f64 -1 A) -1/6))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (*.f64 (pow.f64 (*.f64 l V) -1/6) (pow.f64 (/.f64 -1 A) -1/6)))
(*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 -1))) (pow.f64 (neg.f64 (*.f64 l (/.f64 V A))) -1/6))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))

eval371.0ms (4.1%)

Compiler

Compiled 10597 to 4162 computations (60.7% saved)

prune401.0ms (4.5%)

Pruning

25 alts after pruning (23 fresh and 2 done)

PrunedKeptTotal
New72718745
Fresh6511
Picked101
Done325
Total73725762
Error
1.0b
Counts
762 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
34.4b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
16.0b
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 2))
22.5b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
34.9b
(*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))
30.1b
(*.f64 c0 (pow.f64 (*.f64 (/.f64 (cbrt.f64 (*.f64 A A)) l) (/.f64 (cbrt.f64 A) V)) 1/2))
45.5b
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
45.4b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
37.6b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
38.1b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 3))
22.5b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (pow.f64 (*.f64 V l) 1/4) 2))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
37.1b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)
16.4b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
16.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
47.1b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
52.0b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
15.9b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
45.1b
(/.f64 (*.f64 (sqrt.f64 A) c0) (*.f64 (sqrt.f64 l) (sqrt.f64 V)))
15.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
17.4b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) c0)) 3)
16.7b
(*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l))))
Compiler

Compiled 683 to 485 computations (29% saved)

localize38.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 V (/.f64 1 l))
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
4.5b
(/.f64 A (/.f64 V (/.f64 1 l)))
13.0b
(sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l))))
Compiler

Compiled 42 to 25 computations (40.5% saved)

series25.0ms (0.3%)

Counts
4 → 72
Calls

36 calls:

TimeVariablePointExpression
1.0ms
V
@-inf
(sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l))))
1.0ms
A
@0
(sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l))))
1.0ms
l
@-inf
(sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l))))
1.0ms
l
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
1.0ms
l
@inf
(/.f64 V (/.f64 1 l))

rewrite121.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
610×log-prod_binary64
377×pow-prod-down_binary64
289×pow2_binary64
220×pow-unpow_binary64
204×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01144
123232
2312932
Stop Event
node limit
Counts
4 → 179
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l))))
(/.f64 A (/.f64 V (/.f64 1 l)))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
(/.f64 V (/.f64 1 l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 A) (/.f64 1 (*.f64 (neg.f64 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 V l)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (/.f64 A (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) 1) (/.f64 (cbrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) -2) (/.f64 A (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (cbrt.f64 (pow.f64 (*.f64 V l) 2))) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (cbrt.f64 (pow.f64 (*.f64 V l) 2))) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (sqrt.f64 (*.f64 V l))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (neg.f64 V)) (/.f64 -1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 A V) 1) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 5/6) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 A V) (cbrt.f64 (pow.f64 l -2))) (/.f64 1 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 A V) (pow.f64 l -1/2)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V (/.f64 l A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 A (*.f64 (neg.f64 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 V l)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 V) l)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) l))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 V) 2) (*.f64 (cbrt.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V l)) (cbrt.f64 (pow.f64 (*.f64 V l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 V l) 2)) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (/.f64 V (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 V) (/.f64 1 (/.f64 -1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 V) 2) 1) (/.f64 (cbrt.f64 V) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) 1) (/.f64 (sqrt.f64 V) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 l -2))) (/.f64 V (/.f64 1 (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 V) 2) (cbrt.f64 (pow.f64 l -2))) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) (cbrt.f64 (pow.f64 l -2))) (/.f64 (sqrt.f64 V) (/.f64 1 (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 V) 2) (pow.f64 l -1/2)) (/.f64 (cbrt.f64 V) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V -1) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 V 3) (pow.f64 l -3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (*.f64 V l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 V 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 l 3) (pow.f64 V 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 l) (sqrt.f64 V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 V (/.f64 -1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 V 3) (pow.f64 l -3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 V l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 V l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) 1))))))

simplify31.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09492
113492
215492
Stop Event
saturated
Counts
251 → 181
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)
(*.f64 V l)

localize20.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
5.9b
(/.f64 (/.f64 A V) l)
13.0b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series9.0ms (0.1%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
1.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
1.0ms
l
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
1.0ms
A
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
1.0ms
A
@0
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
1.0ms
V
@inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))

rewrite94.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
398×exp-prod_binary64
363×pow-prod-down_binary64
257×pow2_binary64
185×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
119112
2264812
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 2)) (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1) 1))))))

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
38 → 27
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 1 (*.f64 (/.f64 V A) l))
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l))))
6.1b
(*.f64 (/.f64 V A) l)
13.0b
(sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l)))
Compiler

Compiled 42 to 16 computations (61.9% saved)

series30.0ms (0.3%)

Counts
4 → 84
Calls

39 calls:

TimeVariablePointExpression
2.0ms
c0
@0
(*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l))))
1.0ms
V
@0
(*.f64 (/.f64 V A) l)
1.0ms
l
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l))))
1.0ms
l
@0
(*.f64 (/.f64 V A) l)
1.0ms
V
@0
(sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l)))

rewrite154.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
567×log-prod_binary64
424×exp-prod_binary64
370×pow-prod-down_binary64
282×pow2_binary64
201×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01144
122635
2290435
Stop Event
node limit
Counts
4 → 174
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l)))
(*.f64 (/.f64 V A) l)
(*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l))))
(/.f64 1 (*.f64 (/.f64 V A) l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (*.f64 (/.f64 V A) l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/4) (pow.f64 (*.f64 (/.f64 V A) l) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (sqrt.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (/.f64 V A) (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 V A) l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 V A) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 V A) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 V (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 V A) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 V A) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 V A) (neg.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V l) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 V l)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 V) l) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l (neg.f64 V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 V A) l))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 V A) l)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 V A) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 V A) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 V A) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2)) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 (/.f64 V A) (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (*.f64 (/.f64 V A) l) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 V l)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) -2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 5/6) (pow.f64 (*.f64 (/.f64 V A) l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 (/.f64 V A) (neg.f64 l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))) 2)) (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 2))))))

simplify45.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010648
116648
220648
323648
424648
Stop Event
saturated
Counts
258 → 179
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A V) l)

localize68.0ms (0.8%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
0.4b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
12.4b
(sqrt.f64 (/.f64 A V))
Compiler

Compiled 37 to 16 computations (56.8% saved)

series26.0ms (0.3%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
2.0ms
A
@0
(sqrt.f64 (/.f64 A V))
2.0ms
A
@-inf
(sqrt.f64 (/.f64 A V))
1.0ms
V
@-inf
(sqrt.f64 (/.f64 A V))
1.0ms
V
@0
(sqrt.f64 (/.f64 A V))
1.0ms
A
@inf
(sqrt.f64 (/.f64 A V))

rewrite111.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
428×exp-prod_binary64
389×pow-prod-down_binary64
296×pow2_binary64
231×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01133
123233
2287233
Stop Event
node limit
Counts
3 → 96
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A V))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/6) (cbrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 (/.f64 A V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V A) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V A) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A V))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (*.f64 (/.f64 A V) (/.f64 1 l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (*.f64 (/.f64 A V) (/.f64 1 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) (pow.f64 l -1/2)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 l -1/2) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A V) (/.f64 1 l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))) 1) 1))))))

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
108 → 97
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 A) (sqrt.f64 V))
0.2b
(/.f64 c0 (sqrt.f64 l))
1.1b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
Compiler

Compiled 33 to 10 computations (69.7% saved)

series12.0ms (0.1%)

Counts
3 → 24
Calls

24 calls:

TimeVariablePointExpression
1.0ms
c0
@0
(/.f64 c0 (sqrt.f64 l))
1.0ms
V
@-inf
(/.f64 (sqrt.f64 A) (sqrt.f64 V))
1.0ms
l
@-inf
(/.f64 c0 (sqrt.f64 l))
1.0ms
A
@0
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
1.0ms
V
@-inf
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))

rewrite93.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
640×log-prod_binary64
489×pow-prod-down_binary64
305×pow2_binary64
244×pow-unpow_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
123526
2324926
Stop Event
node limit
Counts
3 → 139
Calls
Call 1
Inputs
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
(/.f64 c0 (sqrt.f64 l))
(/.f64 (sqrt.f64 A) (sqrt.f64 V))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 V) (/.f64 (sqrt.f64 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (*.f64 (/.f64 (sqrt.f64 l) c0) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 V l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 V) (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (/.f64 (sqrt.f64 l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (*.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (sqrt.f64 (/.f64 V A)) (/.f64 (sqrt.f64 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (sqrt.f64 l) c0) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (*.f64 (/.f64 (sqrt.f64 l) c0) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (*.f64 (sqrt.f64 (/.f64 V A)) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 A) c0)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l)))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0)) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) 1) (*.f64 (neg.f64 (sqrt.f64 V)) (/.f64 (sqrt.f64 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 c0) 1) (*.f64 (neg.f64 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) c0) (*.f64 (neg.f64 (sqrt.f64 V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) (neg.f64 c0)) (*.f64 (sqrt.f64 V) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 c0)) (*.f64 (neg.f64 (sqrt.f64 V)) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 c0) (sqrt.f64 A)) (*.f64 (neg.f64 (sqrt.f64 l)) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (*.f64 (sqrt.f64 l) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 A))) (*.f64 (neg.f64 (sqrt.f64 l)) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l))) 1) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l))) (cbrt.f64 V)) (pow.f64 V 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l))) (pow.f64 V 1/4)) (pow.f64 V 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) 1) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (cbrt.f64 l)) (pow.f64 l 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (pow.f64 l 1/4)) (pow.f64 l 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) (/.f64 c0 (sqrt.f64 l))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 c0) (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (neg.f64 c0)) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 c0 (sqrt.f64 l)) (neg.f64 (sqrt.f64 A))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 V A)) (/.f64 (sqrt.f64 l) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 l) c0) (sqrt.f64 (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 l))) (cbrt.f64 (/.f64 (*.f64 c0 c0) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c0 c0) l)) (cbrt.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 l)) (/.f64 c0 (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (cbrt.f64 l)) (cbrt.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 l)) (/.f64 (sqrt.f64 c0) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/4) (/.f64 c0 (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (pow.f64 l 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 l 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 l) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 l 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 l))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) (*.f64 (pow.f64 A 1/6) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/6) (cbrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 (/.f64 A V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 A)) (/.f64 1 (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) 1) (/.f64 (pow.f64 A 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) 1) (/.f64 (pow.f64 A 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 V)) (/.f64 (sqrt.f64 A) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (cbrt.f64 V)) (/.f64 (pow.f64 A 1/4) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/4) (/.f64 (sqrt.f64 A) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (pow.f64 V 1/4)) (/.f64 (pow.f64 A 1/6) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 V 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 V A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 A) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 V 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013252
120252
222252
Stop Event
saturated
Counts
163 → 143
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))
(*.f64 (sqrt.f64 (/.f64 1 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 1 l)))

eval170.0ms (1.9%)

Compiler

Compiled 9687 to 3730 computations (61.5% saved)

prune161.0ms (1.8%)

Pruning

24 alts after pruning (18 fresh and 6 done)

PrunedKeptTotal
New72612738
Fresh12618
Picked011
Done156
Total73924763
Error
0.7b
Counts
763 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
34.9b
(*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))
45.5b
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
45.4b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
16.7b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (pow.f64 (*.f64 V l) 1/4) 2))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
46.7b
(sqrt.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)))
16.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
16.4b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
47.1b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
37.6b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l))))
15.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A)))))
15.9b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
23.8b
(/.f64 (sqrt.f64 (/.f64 A V)) (/.f64 (sqrt.f64 l) c0))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
15.7b
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
22.5b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
24.0b
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
16.6b
(*.f64 c0 (pow.f64 (*.f64 (/.f64 V A) l) -1/2))
34.7b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
52.0b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
45.4b
(*.f64 (*.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 V -1/2))) (/.f64 c0 (sqrt.f64 l)))
Compiler

Compiled 591 to 417 computations (29.4% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 1 (*.f64 V l))
0.7b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
4.9b
(*.f64 (/.f64 1 (*.f64 V l)) A)
13.0b
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
Compiler

Compiled 42 to 20 computations (52.4% saved)

series14.0ms (0.2%)

Counts
4 → 48
Calls

36 calls:

TimeVariablePointExpression
0.0ms
V
@0
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
0.0ms
V
@-inf
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
0.0ms
V
@inf
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
0.0ms
l
@0
(/.f64 1 (*.f64 V l))
0.0ms
V
@-inf
(/.f64 1 (*.f64 V l))

rewrite91.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
549×log-prod_binary64
474×prod-exp_binary64
408×exp-prod_binary64
369×pow-prod-down_binary64
268×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
121935
2266435
Stop Event
node limit
Counts
4 → 186
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A))
(*.f64 (/.f64 1 (*.f64 V l)) A)
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(/.f64 1 (*.f64 V l))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (/.f64 A V) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 (*.f64 V l) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (*.f64 V l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A (sqrt.f64 (*.f64 V l))) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A 1) (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 A) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 V) A) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A -1) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A (/.f64 1 V)) l)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))) 2)) (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (/.f64 A V) l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (/.f64 A V) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 A) (*.f64 (log.f64 (*.f64 V l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (*.f64 (log.f64 (*.f64 V l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 V l)) -1) (log.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) (log.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 V l)) -1) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 A) 1) (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 A) (*.f64 (log.f64 (*.f64 V l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 A) 1) (*.f64 (log.f64 (*.f64 V l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 A) (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 A) 1) (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) (log.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) (log.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 (log.f64 c0) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2) (*.f64 (log.f64 c0) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) (*.f64 (log.f64 c0) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 c0) 1) (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 c0) (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 c0) (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 1 V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 V l))) (cbrt.f64 (pow.f64 (*.f64 V l) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 V l) -2)) (/.f64 1 (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) -2) (/.f64 1 (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 l (neg.f64 V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 (*.f64 V l)))) 2)) (cbrt.f64 (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log.f64 (*.f64 V l))))) (sqrt.f64 (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V l) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 1 V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (*.f64 (log.f64 (*.f64 V l)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (neg.f64 (log.f64 V)) (*.f64 (log.f64 l) 1)))))))

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
234 → 187
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
5.5b
(/.f64 (/.f64 A l) V)
13.0b
(sqrt.f64 (/.f64 (/.f64 A l) V))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series12.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
2.0ms
V
@inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
1.0ms
A
@0
(sqrt.f64 (/.f64 (/.f64 A l) V))
0.0ms
A
@-inf
(sqrt.f64 (/.f64 (/.f64 A l) V))
0.0ms
A
@inf
(sqrt.f64 (/.f64 (/.f64 A l) V))
0.0ms
l
@-inf
(sqrt.f64 (/.f64 (/.f64 A l) V))

rewrite70.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
398×exp-prod_binary64
362×pow-prod-down_binary64
257×pow2_binary64
185×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119128
2264828
Stop Event
node limit
Counts
3 → 140
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A l) V))
(/.f64 (/.f64 A l) V)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 l V)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 l V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A l) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 2) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (*.f64 (cbrt.f64 (/.f64 A l)) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (*.f64 (sqrt.f64 (/.f64 A l)) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) l) (/.f64 1 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 (/.f64 A l) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) 1) (/.f64 (cbrt.f64 (/.f64 A l)) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A l)) 1) (/.f64 (sqrt.f64 (/.f64 A l)) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (pow.f64 (cbrt.f64 V) 2)) (/.f64 (/.f64 1 l) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 V) -2) (/.f64 (/.f64 A l) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 (cbrt.f64 V) 2)) (/.f64 (sqrt.f64 (/.f64 A l)) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 V)) (/.f64 (/.f64 1 l) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (sqrt.f64 V)) (/.f64 (cbrt.f64 (/.f64 A l)) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 5/6) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A l) 3) (pow.f64 V 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V (/.f64 l A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 A (*.f64 l V)))) 2)) (cbrt.f64 (log.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 A (*.f64 l V))))) (sqrt.f64 (log.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A l) 3) (pow.f64 V 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 l V)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 A (*.f64 l V)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 l V)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (log.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 A l)) 1) (log.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 A l)) (*.f64 (log.f64 V) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 A l)) 1) (*.f64 (log.f64 V) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 1) 1))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
188 → 142
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
7.9b
(/.f64 (*.f64 c0 c0) l)
11.2b
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))
22.3b
(sqrt.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)))
Compiler

Compiled 38 to 9 computations (76.3% saved)

series15.0ms (0.2%)

Counts
3 → 84
Calls

30 calls:

TimeVariablePointExpression
1.0ms
l
@0
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))
1.0ms
l
@inf
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))
1.0ms
c0
@inf
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))
1.0ms
A
@0
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))
1.0ms
c0
@0
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))

rewrite81.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
493×pow-prod-down_binary64
293×pow2_binary64
238×pow-unpow_binary64
207×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01035
121834
2315834
Stop Event
node limit
Counts
3 → 155
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)))
(*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V))
(/.f64 (*.f64 c0 c0) l)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))) (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/6) (cbrt.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/4) (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 c0 (sqrt.f64 l))) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/4)) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 A V)) (*.f64 (/.f64 c0 l) c0))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 A V)) (*.f64 (/.f64 c0 l) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 A V)) (*.f64 (/.f64 c0 l) c0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 A V)) (*.f64 (/.f64 c0 l) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (*.f64 (/.f64 l c0) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (*.f64 (/.f64 V A) (/.f64 l c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 c0) (*.f64 (/.f64 V A) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 c0) (/.f64 (*.f64 l V) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 c0) (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 (*.f64 l (pow.f64 c0 -2)) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V (*.f64 l (pow.f64 c0 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) (*.f64 l (pow.f64 c0 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 l (pow.f64 c0 -2)) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 V A) (*.f64 l (pow.f64 c0 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 l V) (*.f64 (*.f64 c0 c0) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (*.f64 c0 (*.f64 c0 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V (*.f64 (*.f64 (/.f64 c0 l) c0) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 c0)) (*.f64 (/.f64 V A) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 (*.f64 l (pow.f64 c0 -2)) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 c0) A) (*.f64 l V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (*.f64 c0 (/.f64 A V))) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) A) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 c0 c0) A)) (neg.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c0 (*.f64 c0 (/.f64 A V)))) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) A)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (neg.f64 c0)) 1) (*.f64 (neg.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) 1) (*.f64 (neg.f64 V) (*.f64 l (pow.f64 c0 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 A) (*.f64 (/.f64 l c0) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (neg.f64 c0)) A) (*.f64 (neg.f64 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 A)) (*.f64 (/.f64 l c0) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 c0) (neg.f64 A)) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (neg.f64 c0)) (neg.f64 A)) (*.f64 (neg.f64 l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A c0) (*.f64 V (/.f64 l c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) c0) (*.f64 (neg.f64 V) (/.f64 l c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) (*.f64 c0 c0)) (*.f64 (neg.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A (*.f64 c0 (neg.f64 c0))) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) (*.f64 c0 (neg.f64 c0))) (*.f64 (neg.f64 V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (*.f64 c0 (/.f64 A V))) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (*.f64 c0 (/.f64 A V))) (cbrt.f64 (*.f64 l l))) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (*.f64 c0 (/.f64 A V))) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) A) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) A) (cbrt.f64 (*.f64 V V))) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) A) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (/.f64 A V)) (/.f64 l c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (neg.f64 c0)) (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) (*.f64 (/.f64 c0 l) c0)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (neg.f64 A)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 A V) c0) (/.f64 l c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 A V) (*.f64 c0 (neg.f64 c0))) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 l (pow.f64 c0 -2)) (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) (*.f64 l (pow.f64 c0 -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) (*.f64 (*.f64 c0 c0) A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (*.f64 c0 (*.f64 c0 (/.f64 A V)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (*.f64 (*.f64 (/.f64 c0 l) c0) A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 A V)) (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 c0 l) c0) (/.f64 A V)))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 c0 l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 c0 l) c0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 c0 l) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 c0 l) c0)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 c0 l) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 c0 l) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (/.f64 1 (/.f64 l c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (*.f64 c0 (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 c0) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 c0 l) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 c0 l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 c0 l) c0)) (cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 4)) (cbrt.f64 (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 c0) c0) (*.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 l)) (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (neg.f64 c0)) (/.f64 1 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (*.f64 c0 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 1) (/.f64 c0 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 l) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) 1) (/.f64 (pow.f64 (cbrt.f64 c0) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (cbrt.f64 (*.f64 l l))) (/.f64 c0 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) -2) (/.f64 (*.f64 c0 c0) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) (cbrt.f64 (*.f64 l l))) (cbrt.f64 (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (*.f64 c0 c0) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) (sqrt.f64 l)) (/.f64 (pow.f64 (cbrt.f64 c0) 2) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 c0 l) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 c0 l) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (pow.f64 c0 -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 6) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l (pow.f64 c0 -2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 c0 c0) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 c0 l) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 6) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 c0 l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 c0 l) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 c0 (sqrt.f64 l)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 c0 l) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (pow.f64 c0 -2))) -1))))))

simplify122.0ms (1.4%)

Algorithm
egg-herbie
Rules
541×fma-neg_binary64
381×times-frac_binary64
330×unswap-sqr_binary64
329×associate-/l*_binary64
299×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016944
135944
286944
3219944
4725944
53061944
63366944
74279944
84867944
96874944
107679944
Stop Event
node limit
Counts
239 → 163
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
(/.f64 (pow.f64 c0 2) l)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) V) l)
(*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l)))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))
(/.f64 (pow.f64 c0 2) l)
(/.f64 (*.f64 c0 c0) l)
(/.f64 c0 (/.f64 l c0))
(*.f64 (/.f64 c0 l) c0)
(*.f64 c0 (/.f64 c0 l))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))
0.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
8.3b
(sqrt.f64 (/.f64 A l))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series15.0ms (0.2%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
2.0ms
A
@0
(sqrt.f64 (/.f64 A l))
2.0ms
l
@-inf
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
1.0ms
V
@-inf
(/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))
1.0ms
A
@-inf
(sqrt.f64 (/.f64 A l))
1.0ms
l
@-inf
(sqrt.f64 (/.f64 A l))

rewrite79.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
419×exp-prod_binary64
376×pow-prod-down_binary64
275×pow2_binary64
210×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
121227
2287527
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A l))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/6) (cbrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A l)) (pow.f64 (/.f64 A l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 (/.f64 A l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l A) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A l))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A l) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A l))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0)) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) 1) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (cbrt.f64 V)) (pow.f64 V 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (pow.f64 V 1/4)) (pow.f64 V 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) c0) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 (/.f64 A l)))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A l) V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 2)) (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) (cbrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A l)) (*.f64 (pow.f64 (/.f64 A l) 1/6) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/4) (*.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) (pow.f64 (/.f64 (/.f64 A l) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (/.f64 1 (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) (cbrt.f64 V)) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) 1) (/.f64 (pow.f64 (/.f64 A l) 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A l) 1/4) 1) (/.f64 (pow.f64 (/.f64 A l) 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 V)) (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A l) 1/4) (cbrt.f64 V)) (/.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/4) (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) (pow.f64 V 1/4)) (/.f64 (pow.f64 (/.f64 A l) 1/6) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A l) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1) 1))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
139 → 128
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l))))
0.2b
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l)))
5.5b
(sqrt.f64 (*.f64 (neg.f64 V) l))
Compiler

Compiled 44 to 11 computations (75% saved)

series15.0ms (0.2%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
2.0ms
V
@inf
(sqrt.f64 (*.f64 (neg.f64 V) l))
1.0ms
A
@-inf
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l))))
1.0ms
A
@-inf
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l)))
1.0ms
V
@0
(sqrt.f64 (*.f64 (neg.f64 V) l))
1.0ms
V
@-inf
(sqrt.f64 (*.f64 (neg.f64 V) l))

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
600×log-prod_binary64
374×pow-prod-down_binary64
280×pow-unpow_binary64
268×pow2_binary64
191×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
125227
2342427
Stop Event
node limit
Counts
3 → 109
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (neg.f64 V) l))
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V l)) (pow.f64 (*.f64 V l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) 1/6) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) 1/4) (pow.f64 (*.f64 V l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 V l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 V l))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) (*.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 A)) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) 1) (/.f64 (pow.f64 A 1/6) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) 1) (/.f64 (pow.f64 A 1/4) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 V l))) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (cbrt.f64 (*.f64 V l))) (/.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/4) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (pow.f64 (*.f64 V l) 1/4)) (/.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 V)) (/.f64 (pow.f64 A 1/6) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (sqrt.f64 V)) (/.f64 (pow.f64 A 1/4) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 V l) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 A) (neg.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 V l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 A) c0)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) 1) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (cbrt.f64 (*.f64 V l))) (pow.f64 (*.f64 V l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) 1/4)) (pow.f64 (*.f64 V l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) c0) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
121 → 110
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval197.0ms (2.2%)

Compiler

Compiled 9559 to 3499 computations (63.4% saved)

prune255.0ms (2.8%)

Pruning

24 alts after pruning (14 fresh and 10 done)

PrunedKeptTotal
New7255730
Fresh4913
Picked011
Done1910
Total73024754
Error
0.3b
Counts
754 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
45.4b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
16.7b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (pow.f64 (*.f64 V l) 1/4) 2))
35.0b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
43.4b
(sqrt.f64 (/.f64 (*.f64 c0 A) (*.f64 (/.f64 l c0) V)))
16.4b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
46.7b
(sqrt.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)))
47.1b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
37.6b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l))))
14.4b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
43.8b
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l))))
15.8b
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
34.7b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
23.8b
(/.f64 (sqrt.f64 (/.f64 A V)) (/.f64 (sqrt.f64 l) c0))
15.9b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
45.4b
(*.f64 (*.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 V -1/2))) (/.f64 c0 (sqrt.f64 l)))
27.2b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
34.9b
(*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))
22.5b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
24.0b
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
16.6b
(*.f64 c0 (pow.f64 (*.f64 (/.f64 V A) l) -1/2))
52.0b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
Compiler

Compiled 333 to 233 computations (30% saved)

regimes1.0s (11.3%)

Counts
52 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 V -1/2))) (/.f64 c0 (sqrt.f64 l)))
(*.f64 c0 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 (cbrt.f64 (*.f64 A A)) l) (/.f64 (cbrt.f64 A) V)) 1/2))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (pow.f64 (*.f64 V l) 1/4) 2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) c0)) 3)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0) 3))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)
(*.f64 c0 (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 A) c0) (*.f64 (sqrt.f64 l) (sqrt.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 (neg.f64 V) l))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 2))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2))
(*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(/.f64 (sqrt.f64 (/.f64 A V)) (/.f64 (sqrt.f64 l) c0))
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 A) (*.f64 (/.f64 l c0) V)))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 V) (/.f64 c0 l))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (*.f64 c0 c0) l) (/.f64 A V)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A)))))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 V (/.f64 1 l)))))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 V A) l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 V A) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
Calls

11 calls:

170.0ms
(*.f64 V l)
115.0ms
(*.f64 V l)
111.0ms
V
106.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
105.0ms
c0
Results
ErrorSegmentsBranch
13.2b2c0
5.2b2A
7.4b4V
8.3b4l
8.4b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
7.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
7.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
7.0b3(/.f64 A (*.f64 V l))
7.0b3(/.f64 A (*.f64 V l))
3.9b3(*.f64 V l)
3.9b3(*.f64 V l)
Compiler

Compiled 625 to 286 computations (54.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.799327691168548e+277
6.58896262535821e+277
0.0ms
-0.0
2.0366252e-316
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes159.0ms (1.8%)

Accuracy

Total -15.8b remaining (-152.6%)

Threshold costs -15.8b (-152.6%)

Counts
6 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

9 calls:

34.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
27.0ms
c0
21.0ms
(*.f64 V l)
19.0ms
(*.f64 V l)
14.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
ErrorSegmentsBranch
13.4b2c0
13.1b3A
13.2b2V
14.4b1l
10.6b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
10.4b3(sqrt.f64 (/.f64 A (*.f64 V l)))
10.4b3(/.f64 A (*.f64 V l))
11.1b4(*.f64 V l)
11.1b4(*.f64 V l)
Compiler

Compiled 117 to 73 computations (37.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.767933796123103e+287
1.2846791640145984e+290
0.0ms
1e-323
1.450879982588e-311
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify7.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
047126
160126
264126
366126
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 49999999999999998175343433979589279157951137391496288266157242743110873150620102906337171435410246399918892469000602018887594876771980109395971573896894072660533262290309118329484316681379045013850167655746877489167183814937869568749188006828844715705934104413037475872242663424) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) (*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 32768/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 (/.f64 A (*.f64 V l)) 500000000000000003815236769787517830257389167755855375390043332219984755318247477305565774567919593256991727777697610447843930272404792499914862630297436635543699813243303073221275494420008458697313224768197604310133506389038893861697957032303559981034741662286988928916069412641477492736) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))
Outputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 49999999999999998175343433979589279157951137391496288266157242743110873150620102906337171435410246399918892469000602018887594876771980109395971573896894072660533262290309118329484316681379045013850167655746877489167183814937869568749188006828844715705934104413037475872242663424) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) (*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))))
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 49999999999999998175343433979589279157951137391496288266157242743110873150620102906337171435410246399918892469000602018887594876771980109395971573896894072660533262290309118329484316681379045013850167655746877489167183814937869568749188006828844715705934104413037475872242663424) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 32768/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 (/.f64 A (*.f64 V l)) 500000000000000003815236769787517830257389167755855375390043332219984755318247477305565774567919593256991727777697610447843930272404792499914862630297436635543699813243303073221275494420008458697313224768197604310133506389038893861697957032303559981034741662286988928916069412641477492736) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 1/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 (/.f64 A (*.f64 V l)) 500000000000000003815236769787517830257389167755855375390043332219984755318247477305565774567919593256991727777697610447843930272404792499914862630297436635543699813243303073221275494420008458697313224768197604310133506389038893861697957032303559981034741662286988928916069412641477492736) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))
Compiler

Compiled 91 to 51 computations (44% saved)

soundness0.0ms (0%)

end62.0ms (0.7%)

Compiler

Compiled 181 to 104 computations (42.5% saved)

Profiling

Loading profile data...