Details

Time bar (total: 15.3s)

analyze327.0ms (2.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
3.1%3.1%96.7%0.2%0%0%0%8
6.3%6.2%92%0.2%0%1.6%0%9
8.3%8.2%90.1%0.2%0%1.6%0%10
13.6%13.3%84.2%0.2%0%2.3%0%11
17.8%16.2%74.7%0.2%0%9%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.4s (15.7%)

Results
1.3s8256×body256valid
1.0s7746×body256invalid
113.0ms909×body256infinite
Bogosity

preprocess22.0ms (0.1%)

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)

simplify6.0ms (0%)

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))))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.6b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.7b
(/.f64 A (*.f64 V l))
16.5b
(sqrt.f64 (/.f64 A (*.f64 V l)))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series27.0ms (0.2%)

Counts
3 → 12
Calls

30 calls:

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

rewrite68.0ms (0.4%)

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)))))))

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
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)

eval42.0ms (0.3%)

Compiler

Compiled 1148 to 426 computations (62.9% saved)

prune66.0ms (0.4%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New731891
Fresh000
Picked011
Done000
Total731992
Error
3.8b
Counts
92 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
38.2b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
41.4b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
19.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
53.9b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
19.7b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
20.2b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
36.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
19.6b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))
38.1b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
38.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
18.9b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
19.9b
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
19.1b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
25.2b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
45.8b
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
45.8b
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
23.8b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
20.5b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
20.0b
(*.f64 c0 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))
Compiler

Compiled 530 to 376 computations (29.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))
1.6b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
5.5b
(/.f64 l (/.f64 A V))
15.7b
(sqrt.f64 (/.f64 l (/.f64 A V)))
Compiler

Compiled 41 to 13 computations (68.3% saved)

series32.0ms (0.2%)

Counts
4 → 48
Calls

39 calls:

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

rewrite123.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
364×pow-prod-down_binary64
289×pow2_binary64
226×pow-unpow_binary64
205×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify17.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
227 → 182
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)
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)

localize47.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.6b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
5.5b
(/.f64 (/.f64 A V) l)
16.5b
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series25.0ms (0.2%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
10.0ms
A
@inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
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
A
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
A
@-inf
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)

rewrite75.0ms (0.5%)

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)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))
0.8b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
9.9b
(sqrt.f64 (*.f64 V l))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series50.0ms (0.3%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
38.0ms
l
@-inf
(sqrt.f64 (*.f64 V l))
1.0ms
V
@0
(sqrt.f64 (*.f64 V l))
1.0ms
V
@-inf
(sqrt.f64 (*.f64 V l))
1.0ms
l
@0
(sqrt.f64 (*.f64 V l))
1.0ms
l
@inf
(sqrt.f64 (*.f64 V l))

rewrite68.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
563×log-prod_binary64
409×exp-prod_binary64
371×pow-prod-down_binary64
262×pow2_binary64
227×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
120627
2267827
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 V l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.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 (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 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(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 (*.f64 V l) A))))) 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 c0 (sqrt.f64 A))))))) (#(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 /.f64 (neg.f64 (*.f64 c0 (sqrt.f64 A))) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) 1) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (cbrt.f64 (*.f64 V l))) (pow.f64 (*.f64 V l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 (*.f64 V l) 1/4)) (pow.f64 (*.f64 V l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (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 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 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 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 c0 (sqrt.f64 A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 2)) (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))))) (#(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 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 1) 1))))))
((#(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 (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 (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 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 (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 (/.f64 A (*.f64 V l)) 1/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 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(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 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 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 (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 (/.f64 A (*.f64 V l))) 1/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 exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 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)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (/.f64 l (/.f64 A V)) -1)
1.6b
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
5.5b
(/.f64 l (/.f64 A V))
16.5b
(sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1))
Compiler

Compiled 42 to 16 computations (61.9% saved)

series15.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

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

rewrite79.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
608×log-prod_binary64
350×pow-prod-down_binary64
294×pow2_binary64
244×pow-unpow_binary64
208×pow-to-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01133
123128
2305328
Stop Event
node limit
Counts
3 → 129
Calls
Call 1
Inputs
(sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(pow.f64 (/.f64 l (/.f64 A V)) -1)
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 (*.f64 l V) A) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/4) (pow.f64 (/.f64 (*.f64 l V) A) -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 (pow.f64 (/.f64 l A) -1/2) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) A) -1/2)))) (#(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 (*.f64 l V) A) -2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) 2) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) 3) -1/6)))) (#(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 (*.f64 l V) A) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 l V) A)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)) -1)))) (#(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 (*.f64 l V) A) -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 (*.f64 l V) A)) -1/2))))) (#(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 (log.f64 (sqrt.f64 (/.f64 (*.f64 l V) A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -3/2 (log.f64 (/.f64 (*.f64 l V) A))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 l V) A) -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 (*.f64 l V) A)) 1) -1/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 (*.f64 l V) A)) -1/2) 1))))) (#(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 (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 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 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))))))
((#(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 (/.f64 A V) (/.f64 1 l))))) (#(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))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 l V) A) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 l V) A) -2)) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -1/4) (pow.f64 (/.f64 (*.f64 l V) A) -3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 l V) A) -3/4) (pow.f64 (/.f64 (*.f64 l V) A) -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 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 (pow.f64 (cbrt.f64 l) 2)) (/.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) (pow.f64 (cbrt.f64 l) 2)) (/.f64 (cbrt.f64 (/.f64 A V)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 (cbrt.f64 l) 2)) (/.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 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 l)) (/.f64 (neg.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 l V) A)) -2) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 l A)) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 5/6) (pow.f64 (/.f64 (*.f64 l V) A) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 l (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 l V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) (sqrt.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 l V) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (*.f64 l V) A) 1))))) (#(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 (neg.f64 A) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 A) V) (neg.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 V) 1) 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 (*.f64 l V) A)) -2) (cbrt.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 l A)) V)))) (#(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 sqrt.f64 (pow.f64 (/.f64 (*.f64 l V) A) -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 (*.f64 l V) A) -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 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 (pow.f64 (/.f64 (*.f64 l V) A) 2)) -1/2))))) (#(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 (*.f64 (log.f64 (/.f64 (*.f64 l V) A)) 1) -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 (*.f64 l V) A)) -1/2) 2))))) (#(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))))))

simplify15.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
177 → 131
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 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 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 (sqrt.f64 (/.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))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.6b
(*.f64 c0 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))
5.5b
(/.f64 (/.f64 A V) l)
16.5b
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3))
19.1b
(cbrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 51 to 17 computations (66.7% saved)

series53.0ms (0.3%)

Counts
3 → 12
Calls

30 calls:

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

rewrite72.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
598×log-prod_binary64
406×pow-prod-down_binary64
296×pow2_binary64
211×pow-unpow_binary64
208×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01230
126030
2313730
Stop Event
node limit
Counts
3 → 99
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (/.f64 A V) l))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3))
(*.f64 c0 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (/.f64 1 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 l) (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 A) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 A V)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (neg.f64 A) V)) (cbrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 A V))) (neg.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 l) (cbrt.f64 (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.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/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (/.f64 A (*.f64 V l)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))) 3/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 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(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 (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 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(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 (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 pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(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 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 2) 3/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 9/2)))) (#(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 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(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 (sqrt.f64 (*.f64 l (/.f64 V 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 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3/2))))) (#(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 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(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 +.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))))))

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
111 → 100
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)

eval289.0ms (1.9%)

Compiler

Compiled 10712 to 4221 computations (60.6% saved)

prune203.0ms (1.3%)

Pruning

22 alts after pruning (20 fresh and 2 done)

PrunedKeptTotal
New76817785
Fresh10313
Picked101
Done325
Total78222804
Error
1.8b
Counts
804 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
38.1b
(*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))
19.0b
(/.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))
23.8b
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))))
52.1b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
19.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
38.2b
(*.f64 c0 (*.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 V l) -1/2))))
45.6b
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
53.9b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
19.2b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
36.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
18.9b
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
38.1b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
38.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
19.7b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
23.8b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
23.9b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
47.9b
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 V)) (sqrt.f64 l))
19.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
18.9b
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
18.1b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
19.0b
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
49.1b
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
Compiler

Compiled 599 to 417 computations (30.4% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.4b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
4.9b
(/.f64 (*.f64 V l) A)
15.7b
(sqrt.f64 (/.f64 (*.f64 V l) A))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series12.0ms (0.1%)

Counts
3 → 12
Calls

30 calls:

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

rewrite80.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
546×log-prod_binary64
410×exp-prod_binary64
335×pow-prod-down_binary64
257×pow2_binary64
186×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.6b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
5.5b
(/.f64 (/.f64 A V) l)
16.5b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series9.0ms (0.1%)

Counts
2 → 12
Calls

21 calls:

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

rewrite61.0ms (0.4%)

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
0921
119121
2264821
Stop Event
node limit
Counts
2 → 72
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A V) l))
(*.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 (*.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 (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 (*.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 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 (*.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))))))

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
84 → 73
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)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(/.f64 1 (/.f64 (*.f64 l V) A))
1.6b
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
4.9b
(/.f64 (*.f64 l V) A)
16.5b
(sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A)))
Compiler

Compiled 42 to 16 computations (61.9% saved)

series14.0ms (0.1%)

Counts
4 → 84
Calls

39 calls:

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

rewrite103.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
591×log-prod_binary64
446×exp-prod_binary64
376×pow-prod-down_binary64
282×pow2_binary64
220×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01144
122635
2292835
Stop Event
node limit
Counts
4 → 211
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A)))
(/.f64 (*.f64 l V) A)
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(/.f64 1 (/.f64 (*.f64 l V) A))
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 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) (pow.f64 (*.f64 (/.f64 l A) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (neg.f64 l) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -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 l A) V) -2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -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 (pow.f64 (*.f64 (/.f64 l A) V) 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 l A) V) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) -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 l A) V)) 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 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 (log.f64 (*.f64 (/.f64 l A) V)) -1/2))))) (#(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 l A) V) -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 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) -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 l A) V))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 l A) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 l A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 1 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (*.f64 V (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (*.f64 l (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l V) (/.f64 1 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l V)) 2) (*.f64 (cbrt.f64 (*.f64 l V)) (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) 2) (cbrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) (*.f64 (sqrt.f64 (*.f64 l V)) (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (neg.f64 V)) (/.f64 1 (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 A) (*.f64 l V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l 1) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V 1) (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l A) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l V)) 2) 1) (/.f64 (cbrt.f64 (*.f64 l V)) A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l V)) 1) (/.f64 (sqrt.f64 (*.f64 l V)) A))))) (#(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 (/.f64 l (pow.f64 (cbrt.f64 A) 2)) (/.f64 V (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (pow.f64 (cbrt.f64 A) 2)) (/.f64 l (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l V)) 2) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 (cbrt.f64 A) 2)) (/.f64 (sqrt.f64 (*.f64 l V)) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A -1/2) (/.f64 (*.f64 l V) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (sqrt.f64 A)) (/.f64 V (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (sqrt.f64 A)) (/.f64 l (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l V)) 2) (sqrt.f64 A)) (/.f64 (cbrt.f64 (*.f64 l V)) (sqrt.f64 A)))))) (#(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 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 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -3) -1/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 l A) V) 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 l A) V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 l V) 3) (pow.f64 A 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 A V) l) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 l A) V))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 l A) V)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 l V) (neg.f64 A)))))) (#(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 (pow.f64 (exp.f64 (/.f64 l A)) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 l V) 3) (pow.f64 A 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 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 (*.f64 3 (log.f64 (*.f64 (/.f64 l A) V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 l A) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) -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 +.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 l A) V)))))) (#(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 A (/.f64 1 (*.f64 l V)))))) (#(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)) (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 (*.f64 (/.f64 l A) V) -1/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 l) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 l V)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (*.f64 (/.f64 l A) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/2) (/.f64 A (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) 1) (/.f64 (cbrt.f64 A) (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 l 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 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(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 l V)) -2) (/.f64 A (cbrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (pow.f64 (cbrt.f64 (*.f64 l V)) 2)) (/.f64 (cbrt.f64 A) (cbrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 l V)) 2)) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (sqrt.f64 (*.f64 l V))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 l (neg.f64 V))) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) -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 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (*.f64 l V)) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (*.f64 l V)) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (*.f64 l V)) (sqrt.f64 A)) (sqrt.f64 A))))) (#(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 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 l A) V) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -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 (pow.f64 (/.f64 (/.f64 A V) l) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 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 l A) V) -1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 l V) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 l) (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) 2)))) (#(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 l A) V) -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 l A) V) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 l V) 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 l A) V)) -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 (*.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 l A) V)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) -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))))))

simplify51.0ms (0.3%)

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
295 → 217
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)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sqrt.f64 A) c0)
1.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
9.9b
(sqrt.f64 (*.f64 V l))
Compiler

Compiled 30 to 9 computations (70% saved)

series10.0ms (0.1%)

Counts
2 → 12
Calls

18 calls:

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

rewrite93.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
120420
2267620
Stop Event
node limit
Counts
2 → 86
Calls
Call 1
Inputs
(/.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 (*.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 (sqrt.f64 A) (neg.f64 c0)) (/.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 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) 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 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) 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 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) 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 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 A) c0))) 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
98 → 87
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)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
0.1b
(*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))
0.5b
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
8.9b
(sqrt.f64 (/.f64 l A))
Compiler

Compiled 45 to 14 computations (68.9% saved)

series18.0ms (0.1%)

Counts
4 → 12
Calls

36 calls:

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

rewrite79.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
434×pow-prod-down_binary64
299×pow2_binary64
234×pow-unpow_binary64
213×pow-to-exp_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01239
124837
2315736
Stop Event
node limit
Counts
4 → 146
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 l A))
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
(*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))
(/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l A) 1/6) (cbrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 l A)) (pow.f64 (/.f64 l A) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l A) 1/4) (pow.f64 (/.f64 l A) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (pow.f64 A -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 l)) (neg.f64 (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l A) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 l A)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 1/4) 2)))) (#(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 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 l A) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 l A)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 l A))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 l A) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 l A) 1/4)) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (sqrt.f64 V)) (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) 1/4)) (pow.f64 (*.f64 (/.f64 l A) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 1) (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (cbrt.f64 (*.f64 (/.f64 l A) V))) (pow.f64 (*.f64 (/.f64 l A) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 c0) (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(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 -1) (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) 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 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 (/.f64 l A) V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 (/.f64 l A) V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 l A)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) (pow.f64 (*.f64 (/.f64 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) (pow.f64 (*.f64 (/.f64 l A) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 l V) 1/2) (sqrt.f64 A))))) (#(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 pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1)))) (#(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 l A) V) -3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 l A) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4)) 2))))))
((#(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 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) 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 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) (pow.f64 (*.f64 (/.f64 l A) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(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 (pow.f64 V -1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 (/.f64 l A) V))) (pow.f64 (*.f64 (/.f64 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) -1)))) (#(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 (/.f64 (/.f64 A l) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) -1)))) (#(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 l A) 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 l A) V))) -1))))) (#(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 l A) V) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4)) 2))))))

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
158 → 147
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)

eval188.0ms (1.2%)

Compiler

Compiled 10610 to 3840 computations (63.8% saved)

prune203.0ms (1.3%)

Pruning

24 alts after pruning (19 fresh and 5 done)

PrunedKeptTotal
New78017797
Fresh13215
Picked011
Done246
Total79524819
Error
1.8b
Counts
819 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
18.6b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
18.6b
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
36.4b
(/.f64 c0 (/.f64 (sqrt.f64 (*.f64 V (neg.f64 l))) (sqrt.f64 (neg.f64 A))))
36.4b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
18.9b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
38.1b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
24.9b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
18.9b
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
38.1b
(/.f64 c0 (*.f64 (sqrt.f64 (*.f64 V l)) (pow.f64 A -1/2)))
38.6b
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A))
52.1b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
20.5b
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
18.1b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
19.0b
(/.f64 (/.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) 1/4)) (pow.f64 (*.f64 (/.f64 l A) V) 1/4))
19.0b
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
49.1b
(/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (sqrt.f64 V))
23.8b
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
53.9b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))
19.2b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
20.5b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
46.0b
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
47.9b
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 V)) (sqrt.f64 l))
19.7b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
49.1b
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
Compiler

Compiled 594 to 410 computations (31% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 V (/.f64 1 A))
1.4b
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
5.5b
(*.f64 l (*.f64 V (/.f64 1 A)))
15.7b
(sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A))))
Compiler

Compiled 42 to 25 computations (40.5% saved)

series17.0ms (0.1%)

Counts
4 → 72
Calls

36 calls:

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

rewrite117.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
595×log-prod_binary64
446×exp-prod_binary64
383×pow-prod-down_binary64
282×pow2_binary64
246×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01132
122732
2290232
Stop Event
node limit
Counts
4 → 159
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A))))
(*.f64 l (*.f64 V (/.f64 1 A)))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(*.f64 V (/.f64 1 A))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))) 1)))) (#(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 (*.f64 l (/.f64 V A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) (pow.f64 (*.f64 l (/.f64 V A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/6) (cbrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/4) (pow.f64 (*.f64 l (/.f64 V A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 A -1/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 (sqrt.f64 (*.f64 l (/.f64 V A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 l (/.f64 V A)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 l (/.f64 V A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (/.f64 V A)))))) (#(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 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l V) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 l V) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 l V) -1) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 l (/.f64 V A)))) 2)) (cbrt.f64 (log.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 l (/.f64 V A))))) (sqrt.f64 (log.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 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 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (/.f64 V A))))))) (#(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 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 l (/.f64 V A)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 l (/.f64 V A)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 l (/.f64 V A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) (cbrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 c0)) (*.f64 (cbrt.f64 c0) (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 l (/.f64 V A)))) (/.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) (cbrt.f64 (*.f64 l (/.f64 V A)))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (*.f64 l (/.f64 V A)))) (/.f64 (sqrt.f64 c0) (pow.f64 (*.f64 l (/.f64 V A)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) (sqrt.f64 l)) (/.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (sqrt.f64 l)) (/.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/4) (/.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) (pow.f64 (*.f64 l (/.f64 V A)) 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (*.f64 l (/.f64 V A)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 l (/.f64 V A)) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 2)) (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 l (/.f64 V A)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 V A))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 V A)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 V A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 V A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 V) 2) (/.f64 A (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 V) (/.f64 A (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 V) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 V (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 V 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 V (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 V) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V -1) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V A) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V A) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 V A)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V A)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 V 3) (pow.f64 A 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 V A))) 2)) (cbrt.f64 (log.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 V A)))) (sqrt.f64 (log.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 V A) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 V A) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 V 3) (pow.f64 A 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 V A)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 V A))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V A))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V A)) 1) 1))))))

simplify21.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
011492
117492
220492
323492
424492
Stop Event
saturated
Counts
231 → 162
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 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) 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 A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)
(/.f64 V A)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.6b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
5.5b
(/.f64 (/.f64 A l) V)
16.5b
(sqrt.f64 (/.f64 (/.f64 A l) V))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series13.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

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

rewrite91.0ms (0.6%)

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 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
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))))))

simplify15.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)

localize27.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.4b
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
5.5b
(/.f64 (/.f64 A l) V)
16.5b
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series386.0ms (2.5%)

Counts
2 → 48
Calls

21 calls:

TimeVariablePointExpression
184.0ms
l
@0
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
83.0ms
A
@0
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
25.0ms
l
@-inf
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
19.0ms
V
@0
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
18.0ms
V
@-inf
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)

rewrite98.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
595×log-prod_binary64
341×pow-prod-down_binary64
299×pow2_binary64
208×pow1/3_binary64
204×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01023
122322
2310621
Stop Event
node limit
Counts
2 → 70
Calls
Call 1
Inputs
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) -1/6) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (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/4) (pow.f64 (/.f64 A (*.f64 l V)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) -1) (pow.f64 (/.f64 A (*.f64 l V)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 V (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(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 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2)) -1/4))))) (#(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 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) -1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(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 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (/.f64 c0 (pow.f64 (/.f64 A (*.f64 l V)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) (cbrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 l V)))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (pow.f64 (*.f64 c0 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (cbrt.f64 (*.f64 V (/.f64 l A)))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (*.f64 V (/.f64 l A)))) (/.f64 (sqrt.f64 c0) (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/4) (/.f64 c0 (pow.f64 (/.f64 A (*.f64 l V)) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (pow.f64 (/.f64 A (*.f64 l V)) -1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (/.f64 A (*.f64 l V)) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 l V))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 A (*.f64 l V)) -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 l V))))))) (#(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 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 A (*.f64 l V)) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1) 1))))))

simplify80.0ms (0.5%)

Algorithm
egg-herbie
Rules
713×fma-def_binary64
476×exp-sum_binary64
436×fma-neg_binary64
352×div-sub_binary64
298×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070792
1183720
2457612
31199504
43287504
Stop Event
node limit
Counts
118 → 82
Calls
Call 1
Inputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A 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
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
1.3b
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
14.5b
(sqrt.f64 (/.f64 A V))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series24.0ms (0.2%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
3.0ms
l
@0
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
1.0ms
A
@0
(sqrt.f64 (/.f64 A V))
1.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))

rewrite94.0ms (0.6%)

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
2287727
Stop Event
node limit
Counts
3 → 128
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
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 A V) 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 (log.f64 (pow.f64 (/.f64 A V) 1/4)) 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 (*.f64 l V))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) c0))))))) (#(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 (sqrt.f64 (/.f64 A V)) (/.f64 (sqrt.f64 l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(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 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(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 (*.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 (/.f64 A V))) c0) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 (/.f64 A V)))) (neg.f64 (sqrt.f64 l)))))) (#(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 (/.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 (/.f64 A V)) c0)) -1)))) (#(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 (sqrt.f64 (/.f64 A (*.f64 l V)))) c0))))) (#(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))))))
((#(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 V)) (pow.f64 l -1/2))))) (#(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 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.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 (cbrt.f64 (/.f64 A V)) (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/2)))))) (#(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 (pow.f64 (/.f64 A V) 1/4) (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (/.f64 1 (neg.f64 (sqrt.f64 l))))))) (#(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 (/.f64 (cbrt.f64 (/.f64 A V)) 1) (/.f64 (pow.f64 (/.f64 A V) 1/6) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) 1) (/.f64 (pow.f64 (/.f64 A V) 1/4) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 l)) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (cbrt.f64 l)) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) (cbrt.f64 l)) (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/4) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 l 1/4)) (/.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l 1/4)))))) (#(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 (/.f64 A (*.f64 l V)) 1/2)))) (#(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 (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 (sqrt.f64 (/.f64 l (/.f64 A V))) -1)))) (#(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 (/.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 (sqrt.f64 (/.f64 l (/.f64 A V))) 1) -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 neg.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x 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 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 (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 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(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 (pow.f64 (/.f64 A (*.f64 l V)) 3/2)) 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 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 1))))))

simplify34.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
140 → 129
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)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 44 to 11 computations (75% saved)

series17.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

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

rewrite69.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

simplify49.0ms (0.3%)

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)

eval154.0ms (1%)

Compiler

Compiled 9105 to 3247 computations (64.3% saved)

prune882.0ms (5.7%)

Pruning

26 alts after pruning (19 fresh and 7 done)

PrunedKeptTotal
New68311694
Fresh6814
Picked101
Done279
Total69226718
Error
0.9b
Counts
718 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
18.6b
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
24.9b
(*.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A))))
24.9b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
18.9b
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
19.2b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
18.9b
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
46.0b
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
18.9b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
38.1b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
19.0b
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
47.6b
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
52.1b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
38.1b
(/.f64 c0 (*.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 A -1/2)))
18.1b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
26.1b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0)
19.0b
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
49.1b
(/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (sqrt.f64 V))
23.8b
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
53.9b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A l) V))))
25.0b
(/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (pow.f64 l 1/4)) (pow.f64 l 1/4))
23.8b
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
20.5b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
36.4b
(/.f64 c0 (/.f64 (sqrt.f64 (*.f64 V (neg.f64 l))) (sqrt.f64 (neg.f64 A))))
33.1b
(*.f64 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)) c0)
19.7b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
38.6b
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A))
Compiler

Compiled 355 to 249 computations (29.9% saved)

regimes1.0s (6.7%)

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

10 calls:

205.0ms
c0
139.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
136.0ms
l
99.0ms
(/.f64 A (*.f64 V l))
91.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
15.5b4c0
7.2b2A
9.8b2V
10.3b3l
11.5b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
11.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
11.0b3(/.f64 A (*.f64 V l))
11.0b3(/.f64 A (*.f64 V l))
5.1b3(*.f64 V l)
5.1b3(*.f64 V l)
Compiler

Compiled 728 to 301 computations (58.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.7690398323251928e+290
+inf
0.0ms
-0.0
1.023e-321
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes1.1s (7.1%)

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

10 calls:

190.0ms
c0
160.0ms
(*.f64 V l)
158.0ms
(*.f64 V l)
114.0ms
A
108.0ms
(/.f64 A (*.f64 V l))
Results
ErrorSegmentsBranch
15.5b4c0
8.6b4A
9.8b2V
10.3b3l
11.5b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
11.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
11.0b3(/.f64 A (*.f64 V l))
11.0b3(/.f64 A (*.f64 V l))
4.7b5(*.f64 V l)
4.7b5(*.f64 V l)
Compiler

Compiled 641 to 264 computations (58.8% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.7690398323251928e+290
+inf
0.0ms
1.023e-321
1.822238645723474e-297
0.0ms
-4.4428598951660736e-248
-6.286049178412327e-250
0.0ms
-1.5774696066108203e+292
-6.92750903801879e+291
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes982.0ms (6.4%)

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

10 calls:

170.0ms
c0
165.0ms
l
162.0ms
(*.f64 V l)
150.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
84.0ms
V
Results
ErrorSegmentsBranch
15.5b4c0
11.4b2A
9.9b3V
10.3b3l
11.5b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
11.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
11.0b3(/.f64 A (*.f64 V l))
11.0b3(/.f64 A (*.f64 V l))
7.4b4(*.f64 V l)
7.4b4(*.f64 V l)
Compiler

Compiled 477 to 207 computations (56.6% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.7690398323251928e+290
+inf
0.0ms
1.023e-321
1.822238645723474e-297
0.0ms
-3.2687017955302107e-49
-8.640553844582146e-56
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes1.3s (8.2%)

Counts
42 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A))
(/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A))))
(/.f64 c0 (*.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 A -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (*.f64 V l)) (pow.f64 A -1/2)))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A))))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
Calls

10 calls:

250.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
228.0ms
(*.f64 V l)
159.0ms
V
128.0ms
c0
115.0ms
A
Results
ErrorSegmentsBranch
16.7b3c0
11.4b2A
11.4b5V
11.3b3l
13.4b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.0b3(/.f64 A (*.f64 V l))
12.0b3(/.f64 A (*.f64 V l))
7.2b5(*.f64 V l)
7.2b5(*.f64 V l)
Compiler

Compiled 466 to 200 computations (57.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.7690398323251928e+290
+inf
0.0ms
-0.0
1.023e-321
0.0ms
-3.355431829655263e-237
-4.4428598951660736e-248
0.0ms
-4.4685157779730834e+129
-3.26581822279065e+126
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes681.0ms (4.4%)

Counts
35 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A))
(/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
Calls

10 calls:

137.0ms
V
81.0ms
l
77.0ms
(*.f64 V l)
68.0ms
(*.f64 V l)
61.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
ErrorSegmentsBranch
16.7b3c0
11.4b2A
11.4b5V
11.3b3l
13.4b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.0b3(/.f64 A (*.f64 V l))
12.0b3(/.f64 A (*.f64 V l))
7.2b5(*.f64 V l)
7.2b5(*.f64 V l)
Compiler

Compiled 396 to 171 computations (56.8% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.7690398323251928e+290
+inf
0.0ms
-0.0
1.023e-321
0.0ms
-3.355431829655263e-237
-4.4428598951660736e-248
0.0ms
-4.4685157779730834e+129
-3.26581822279065e+126
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes686.0ms (4.5%)

Counts
32 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A))
(/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
Calls

10 calls:

158.0ms
V
111.0ms
(*.f64 V l)
104.0ms
(*.f64 V l)
89.0ms
l
63.0ms
c0
Results
ErrorSegmentsBranch
16.7b3c0
11.9b2A
11.6b5V
11.5b3l
13.4b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.0b3(/.f64 A (*.f64 V l))
12.0b3(/.f64 A (*.f64 V l))
7.7b5(*.f64 V l)
7.7b5(*.f64 V l)
Compiler

Compiled 369 to 167 computations (54.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.7690398323251928e+290
+inf
0.0ms
-0.0
1.023e-321
0.0ms
-3.355431829655263e-237
-4.4428598951660736e-248
0.0ms
-4.4685157779730834e+129
-3.26581822279065e+126
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes694.0ms (4.5%)

Counts
28 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

10 calls:

203.0ms
(*.f64 V l)
103.0ms
(*.f64 V l)
86.0ms
l
64.0ms
(/.f64 A (*.f64 V l))
61.0ms
V
Results
ErrorSegmentsBranch
16.7b3c0
15.4b2A
12.8b5V
14.1b2l
13.4b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.0b3(/.f64 A (*.f64 V l))
12.0b3(/.f64 A (*.f64 V l))
11.6b5(*.f64 V l)
11.6b5(*.f64 V l)
Compiler

Compiled 333 to 156 computations (53.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.388253376904653e+181
2.981112035711565e+181
0.0ms
1.822238645723474e-297
2.8200232028241007e-297
0.0ms
-3.355431829655263e-237
-4.4428598951660736e-248
0.0ms
-4.4685157779730834e+129
-3.26581822279065e+126
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes486.0ms (3.2%)

Counts
26 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
Outputs
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

10 calls:

96.0ms
(*.f64 V l)
71.0ms
l
60.0ms
(/.f64 A (*.f64 V l))
57.0ms
V
50.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
18.1b1c0
15.8b2A
13.1b5V
12.7b5l
13.4b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
12.0b3(sqrt.f64 (/.f64 A (*.f64 V l)))
12.0b3(/.f64 A (*.f64 V l))
12.0b3(/.f64 A (*.f64 V l))
11.6b5(*.f64 V l)
11.6b5(*.f64 V l)
Compiler

Compiled 315 to 153 computations (51.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.388253376904653e+181
2.981112035711565e+181
0.0ms
1.822238645723474e-297
2.8200232028241007e-297
0.0ms
-1.7631516811635563e-226
-6.7808601616558705e-233
0.0ms
-4.4685157779730834e+129
-3.26581822279065e+126
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes320.0ms (2.1%)

Counts
25 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(*.f64 c0 (sqrt.f64 (/.f64 A (/.f64 l (/.f64 1 V)))))
(*.f64 c0 (sqrt.f64 (/.f64 1 (/.f64 (*.f64 l V) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
Outputs
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

10 calls:

60.0ms
l
44.0ms
V
43.0ms
(*.f64 V l)
42.0ms
A
39.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
18.1b1c0
17.0b2A
15.7b3V
15.9b4l
15.2b3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
15.2b2(sqrt.f64 (/.f64 A (*.f64 V l)))
15.2b2(/.f64 A (*.f64 V l))
15.2b2(/.f64 A (*.f64 V l))
14.6b4(*.f64 V l)
14.6b4(*.f64 V l)
Compiler

Compiled 306 to 149 computations (51.3% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.388253376904653e+181
2.981112035711565e+181
0.0ms
1.023e-321
1.822238645723474e-297
0.0ms
-1.2264566091738772e-178
-2.422099402647243e-180
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes265.0ms (1.7%)

Counts
15 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/2) c0)
(/.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(/.f64 c0 (sqrt.f64 (*.f64 l (*.f64 V (/.f64 1 A)))))
Outputs
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

10 calls:

51.0ms
V
47.0ms
A
38.0ms
l
30.0ms
(*.f64 V l)
27.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
18.1b1c0
17.0b2A
15.7b3V
15.9b4l
15.2b3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
15.2b2(sqrt.f64 (/.f64 A (*.f64 V l)))
15.2b2(/.f64 A (*.f64 V l))
15.2b2(/.f64 A (*.f64 V l))
14.6b4(*.f64 V l)
14.6b4(*.f64 V l)
Compiler

Compiled 206 to 110 computations (46.6% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.388253376904653e+181
2.981112035711565e+181
0.0ms
1.023e-321
1.822238645723474e-297
0.0ms
-1.2264566091738772e-178
-2.422099402647243e-180
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes95.0ms (0.6%)

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

4 calls:

29.0ms
l
29.0ms
A
22.0ms
V
11.0ms
c0
Results
ErrorSegmentsBranch
18.6b1c0
17.6b2A
17.1b2V
17.3b2l
Compiler

Compiled 72 to 42 computations (41.7% saved)

bsearch12.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
-3.346318428198993e-80
-1.0894926243006184e-81
Compiler

Compiled 45 to 32 computations (28.9% saved)

regimes30.0ms (0.2%)

Accuracy

Total -0.3b remaining (-1.5%)

Threshold costs -0.3b (-1.5%)

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

4 calls:

8.0ms
l
7.0ms
A
7.0ms
V
6.0ms
c0
Results
ErrorSegmentsBranch
18.6b1c0
18.6b1A
18.6b1V
18.6b1l
Compiler

Compiled 40 to 28 computations (30% saved)

simplify39.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0121975
1145975
2157975
3164975
4166975
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))
(if (<=.f64 (*.f64 V l) -10000000000000000132565989783574162680686561089586460035632031477942492726904253214615979418039362499727374638565892090988122974650007025784551738302746731685907395315255274646861058187558214617579496201832662352585538835573636597522107561710941518560028749376834095178551288964115055725510656) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -5038209258419659/125955231460491477573475786427621032361709434041052227527609040505093074454480376118282617542185112928074454067529947442741953744769736656487116570106253523089501067161322852174933318537813768637901361681988522625958449433505907473287200188342818373796829838966784) (/.f64 c0 (/.f64 (sqrt.f64 (*.f64 V (neg.f64 l))) (sqrt.f64 (neg.f64 A)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -5265614583427859/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (*.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A)) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 5890680864316837/2945340432158418383223693624588738123559693482299075088767878449688292160397327779966295692450325070170031945807812908771881611572255401942922812303597144053805349165872996110766935565946816006053119311086960734516644260779498911850068592403100913453684334767056261910363295677456051671938422478104563288264146944) (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -5334411546303883/53344115463038834192638814325770062377158066578527265283170062494112297902541056572171457606972434325943439284747465923567110413232954920642906848418646640368761260636112116467704626287294512197831720129087092815853525984299811690329311019008) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 5890680864316837/2945340432158418383223693624588738123559693482299075088767878449688292160397327779966295692450325070170031945807812908771881611572255401942922812303597144053805349165872996110766935565946816006053119311086960734516644260779498911850068592403100913453684334767056261910363295677456051671938422478104563288264146944) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))
(if (<=.f64 (*.f64 V l) -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0)) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))
(if (<=.f64 (*.f64 V l) -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))
(if (<=.f64 V -5339967589802275/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
Outputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))
(if (<=.f64 (*.f64 V l) 0) (*.f64 (/.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))
(if (<=.f64 (*.f64 V l) -10000000000000000132565989783574162680686561089586460035632031477942492726904253214615979418039362499727374638565892090988122974650007025784551738302746731685907395315255274646861058187558214617579496201832662352585538835573636597522107561710941518560028749376834095178551288964115055725510656) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -5038209258419659/125955231460491477573475786427621032361709434041052227527609040505093074454480376118282617542185112928074454067529947442741953744769736656487116570106253523089501067161322852174933318537813768637901361681988522625958449433505907473287200188342818373796829838966784) (/.f64 c0 (/.f64 (sqrt.f64 (*.f64 V (neg.f64 l))) (sqrt.f64 (neg.f64 A)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -10000000000000000132565989783574162680686561089586460035632031477942492726904253214615979418039362499727374638565892090988122974650007025784551738302746731685907395315255274646861058187558214617579496201832662352585538835573636597522107561710941518560028749376834095178551288964115055725510656) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -5038209258419659/125955231460491477573475786427621032361709434041052227527609040505093074454480376118282617542185112928074454067529947442741953744769736656487116570106253523089501067161322852174933318537813768637901361681988522625958449433505907473287200188342818373796829838966784) (/.f64 c0 (/.f64 (sqrt.f64 (*.f64 V (neg.f64 l))) (sqrt.f64 (neg.f64 A)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -10000000000000000132565989783574162680686561089586460035632031477942492726904253214615979418039362499727374638565892090988122974650007025784551738302746731685907395315255274646861058187558214617579496201832662352585538835573636597522107561710941518560028749376834095178551288964115055725510656) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -5038209258419659/125955231460491477573475786427621032361709434041052227527609040505093074454480376118282617542185112928074454067529947442741953744769736656487116570106253523089501067161322852174933318537813768637901361681988522625958449433505907473287200188342818373796829838966784) (/.f64 c0 (/.f64 (sqrt.f64 (*.f64 l (neg.f64 V))) (sqrt.f64 (neg.f64 A)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -5265614583427859/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V))) c0) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0))))
(if (<=.f64 (*.f64 V l) -5265614583427859/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (*.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (*.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 (/.f64 V A)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (*.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 V l))) (sqrt.f64 A)) (*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (*.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))) (if (<=.f64 (*.f64 V l) 499999999999999978930451175173142066076775939048257141926258886614516577002786239313118268535951812574041306445493431857101228510021003209840763187482937088894311771724997242528629131330872974013383816137806524948480039480659075272709232330533995834790894142764502740352844098034426819117056) (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 5890680864316837/2945340432158418383223693624588738123559693482299075088767878449688292160397327779966295692450325070170031945807812908771881611572255401942922812303597144053805349165872996110766935565946816006053119311086960734516644260779498911850068592403100913453684334767056261910363295677456051671938422478104563288264146944) (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -3665779701564795/1832889850782397517082802171755189663406191307018921761884252780947908096342585866198098193012776216027479008590015982084761399088452696108828481666660133095712823955710669574545075280734654641679682560526831695838459555430831205351382962374814354898944) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 5890680864316837/2945340432158418383223693624588738123559693482299075088767878449688292160397327779966295692450325070170031945807812908771881611572255401942922812303597144053805349165872996110766935565946816006053119311086960734516644260779498911850068592403100913453684334767056261910363295677456051671938422478104563288264146944) (/.f64 c0 (*.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -5334411546303883/53344115463038834192638814325770062377158066578527265283170062494112297902541056572171457606972434325943439284747465923567110413232954920642906848418646640368761260636112116467704626287294512197831720129087092815853525984299811690329311019008) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 5890680864316837/2945340432158418383223693624588738123559693482299075088767878449688292160397327779966295692450325070170031945807812908771881611572255401942922812303597144053805349165872996110766935565946816006053119311086960734516644260779498911850068592403100913453684334767056261910363295677456051671938422478104563288264146944) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))
(if (<=.f64 (*.f64 V l) -3999999999999999992869774256740965663955715475037650001746173358919761607623618597988463064569074240039108703867006661504928841728) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) -5334411546303883/53344115463038834192638814325770062377158066578527265283170062494112297902541056572171457606972434325943439284747465923567110413232954920642906848418646640368761260636112116467704626287294512197831720129087092815853525984299811690329311019008) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 5890680864316837/2945340432158418383223693624588738123559693482299075088767878449688292160397327779966295692450325070170031945807812908771881611572255401942922812303597144053805349165872996110766935565946816006053119311086960734516644260779498911850068592403100913453684334767056261910363295677456051671938422478104563288264146944) (/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))
(if (<=.f64 (*.f64 V l) -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0)) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))
(if (<=.f64 (*.f64 V l) -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))
(if (<=.f64 (*.f64 V l) -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))
(if (<=.f64 (*.f64 V l) -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) (if (<=.f64 (*.f64 V l) 19999999999999998342215830152938730492127634084972762925122488116203077196092885244360425129808612448042572512733124694266270966234203982181371736935814021636111081311758980059496448) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))
(if (<=.f64 V -5339967589802275/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))
(if (<=.f64 V -5339967589802275/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 V A) l)))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (/.f64 l (/.f64 A V))))
Compiler

Compiled 692 to 359 computations (48.1% saved)

soundness9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Compiler

Compiled 24 to 16 computations (33.3% saved)

end156.0ms (1%)

Compiler

Compiled 796 to 256 computations (67.8% saved)

Profiling

Loading profile data...